研究了一天,js访问本地文件本身是不可能的,只能借助于插件。植入正题,IE仅支持ActiveX插件。
function openDialog() { try { var Message = "请选择文件夹"; //选择框提示信息 var Shell = new ActiveXObject("Shell.Application"); var Folder = Shell.BrowseForFolder(0, Message, 0x0040, 0x11); //起始目录为:我的电脑 if (Folder != null) { Folder = Folder.items(); Folder = Folder.item(); Folder = Folder.Path; if (Folder.charAt(Folder.length - 1) != "\") { Folder = Folder + "\"; } document.getElementById("inputPath").value = Folder;//获取地址填入文本框中 return Folder; } } catch (e) { alert(e.message); } }
相应的点击事件调用即可。
一般都会出现没有权限的错误。设置IE安全,把你的网站添加到可信任区域,然后修改可信任区域的安全限制,把有关activeX的都启用,就会成功,显示文件浏览对话框
闲的时候可以学习一下,非ie如何调用activeX,非ie的都是基于NPAPI来扩展。小人刚刚接触web开发,记录一下。