導航:首頁 > 版本升級 > js彈出選擇文件

js彈出選擇文件

發布時間:2025-09-12 11:02:10

js點擊選擇文件目錄的功能

最近做一個小項目,前端需要有一個功能是點擊某按鈕時,彈出文件選擇的框,然後獲取目錄並寫入對應的輸入框里,以往是選擇某個文件進行上傳,功能看起來有些像,但這次不同的是只能選擇某個目錄而不是文件,因為它並不是上傳,它只是為了選擇後台生成的文件保存的路徑。

於是網上查解決方案,查到兩種,

一種是僅在谷歌瀏覽器上有效的方式,在input節點里加一個屬性 webkitdirectory,就可以實現點擊彈出選擇目錄的功能,然後就可以截取目錄,此種方式對非空文件夾是可以的實現的,只需監聽此input的change事件即可,但如果選擇的是空文件夾,就不會觸發事件,就無法獲取路徑,所以這方法不復合我的需求。

另一種是只適用於IE瀏覽器的方式,即調用IE的activeX控制項,為點擊按鈕綁定事件,然後就可以獲取目錄,然後到目錄調到想要的地方即可,具體實現方式是:

<input id="show">

<button onclick="clickBtn()">點擊</button>

function click() {

    try {

        var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //選擇框提示                var Shell = new ActiveXObject("Shell.Application");

        var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目錄為:我的電腦                //var Folder = Shell.BrowseForFolder(0, Message, 0); //起始目錄為:桌面                if (Folder != null) {

            Folder = Folder.items(); // 返回 FolderItems 對象            

            Folder = Folder.item(); // 返回 Folderitem 對象            

            Folder = Folder.Path; // 返迴路徑            

            if (Folder.charAt(Folder.length - 1) != "\\") {

                Folder = Folder + "\\";

            }

            document.getElementById('show').value = Folder;

            return Folder;

        }

    } catch (e) {  alert(e.message); }

}

但些方式也有一個問題是,此控制項是默認關閉的,需要用戶手動啟用,並且要把本站點加入可信任站點才行,具體設置過程是:

1. 單擊菜單工具->Internet選項->安全->受信任站點->站點->把此網站設為可信站點

2. 在自定義級別->對沒有標記為安全的ActiveX控制項進行初始化和腳本運行"----"啟用"

Ⅱ 用js怎麼實現彈出個選擇文件的對話框

可以實現的,大概的思路是這樣:
1.先新建一ASP頁(不知道你用什麼來做的,就以asp為例吧),該頁的作用是讀取伺服器上某個目錄下的所有文件,並顯示文件列表,做出類似選擇文件對話框的樣子。具體代碼網上有很多,你以「asp 遍歷文件夾」作為關鍵字在或google中搜一下。
2.在「修改」按鈕上使用Javascript的模態對話框彈出上一步做出來的網頁。
就是window.showModalDialog(),模態對話框可以接收父窗口傳來的參數,也可以返回參數給父窗口,利用這一特性,當你在對話框中選擇好文件點確定時,可以從對話框將選擇內容返回到父頁面上。具體怎麼用?同樣建議你以「showModalDialog」作為關鍵字到網上去搜一下。

Ⅲ 請問如何用js實現打開選擇文件和保存文件至自選路徑的對話框

下面是一個VB腳本的,需要加入可信站點才能彈出對話框,打開要保存的文件夾
<script language="vbscript">
Function Foder()
Const MY_COMPUTER = &H11&
Const WINDOW_HANDLE = 0
Const OPTIONS = 0

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(MY_COMPUTER)
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder _
(WINDOW_HANDLE, "請選擇文件夾:", OPTIONS, strPath)

If objFolder Is Nothing Then
exit Function
End If

Set objFolderItem = objFolder.Self
objPath = objFolderItem.Path

document.frmList.FODER_PATH.value = objPath

End Function
</script>

<input type = "button" name = "path" size = "100" onclick="Foder()" value="選擇文件夾" />

客戶導入選擇文件就用file就可以
<input type="file" name="DATA_RESTORE_PATH" maxlength="20" style="WIDTH: 100px" >

閱讀全文

與js彈出選擇文件相關的資料

熱點內容
es文件瀏覽器桌面小組件 瀏覽:245
節奏大師在哪個文件夾 瀏覽:975
win10創建文件夾沒有許可權 瀏覽:131
5g時代如何提高網路運維 瀏覽:37
word不能打開docx文件格式 瀏覽:873
fanuc棋盤孔怎麼編程 瀏覽:810
文件中提示性內容應該如何處理 瀏覽:699
java繼承層次 瀏覽:78
javaftpftpclient 瀏覽:596
java序列化反序列化 瀏覽:92
qq農場最高等級 瀏覽:516
app汽修好評怎麼評價 瀏覽:591
電腦應用寶文件夾 瀏覽:502
qq怎樣關注公眾號 瀏覽:198
word2007奇偶頁眉一樣 瀏覽:573
車載app管家有哪些 瀏覽:279
少數派app是什麼意思 瀏覽:690
php執行外部程序 瀏覽:505
ug倒角如何編程分兩刀 瀏覽:217
matlab讀取文件路徑 瀏覽:534

友情鏈接