導航:首頁 > 版本升級 > 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彈出選擇文件相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接