最近遇到js 实现选择文件存放路径问题,找到一个方法,使用时碰到的问题分享一下:
以下为代码:
<input id="catchAdress" type="text" /><button onclick="browseFolder()">选择地址</button>
<script>
function browseFolder() {
try {
var Message = "请选择路径"; //选择框提示信息
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17);//起始目录为:我的电脑
if (Folder != null)
{
Folder = Folder.items(); // 返回 FolderItems 对象
Folder = Folder.item(); // 返回 Folderitem 对象
Folder = Folder.Path; // 返回路径
if (Folder.charAt(Folder.length - 1) != "\\")
{
Folder = Folder + "\\";
}
document.getElementById("catchAdress").value=Folder;
return Folder;
}
}
catch (e)
{
alert(e.message);
}
}
</script>
一、这个代码使用前提是需要浏览器允许ActiveX插件,在ie浏览器设置简单,步骤如下:
1.打开ie的internet选项——》安全——》站点——》添加信任站点
2.设置权限
选择好确定保存就可以了
因为自己用了OCX插件,项目只在ie上运行
谷歌火狐等浏览器没有试过,感兴趣的朋友可以去看看
https://blog.csdn.net/aimin_com/article/details/87255677
二、文件默认打开地址
Shell.BrowseForFolder(0, Message, 64, 17);
BrowseForFolder(Hwnd,title,Options,[RootFolder])
Options,浏览方式,见下:|-P
0x0001 For finding a folder to start document searchingE{vDe
0x0002 For starting the Find Computerrzksq^
0x0004 对话框加宽
0x0008 确定按钮变灰失效> A3v,W
0x0010 在对话框顶部加入编辑框~=#g[1
0x0020 insist on valid result (or CANCEL)ge01
0x1000 确定按钮变灰失效9 <
0x2000 可选当前文件,不包括子目录文件,确定按钮变灰失效,(可同时选0x0001使确定按钮有效)F
0x4000 浏览所有项,可选文件或文件夹
RootFolder,起始根目录,可选项,可以自己指定目录字符串,也可以是系统目录的数字表示,数字含义见下:G
0x0000 桌面
0x0001 IE浏览器hrzo
0x0002 C:/WINDOWS/Start Menu/Programs目录m
0x0003 控制面板j}
0x0004 打印机Ln/(
0x0005 我的文档0sm
0x0006 收藏U
0x0007 启动*oyh
0x0008 Recent文档9OB
0x0009 发送到5cO
0x000a 回收站,/a
0x000b 开始菜单ZKS
0x000c 桌面(打开在我的电脑)
0x0010 C:/WINDOWS/Desktop桌面目录K+*fg
0x0011 我的电脑(包括所有驱动器)N`T
0x0012 整个网络Y5Swh
0x0013 NetHood%O~64
0x0014 字体目录(ObtHd
0x0015 C:/WINDOWS/ShellNew目录Byo!)v
0x001a C:/WINDOWS/Application Data目录q
0x001b printHoodS]pW2
0x0020 C:/WINDOWS/Temporary Internet Files目录
0x0021 cookie目录
0x0022 IE浏览历史