版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013779141/article/details/52421595
一、需求
最近遇到的一个需求,利用JS读取共享文件夹下的文件名信息,然后在网页上列出文件名,供用户选择。
二、代码
JS读取文件需要插件支持,该插件只有IE支持,所以本文的代码只能在IE下运行。
<script type="text/javascript" charset="GBK">
var projArray=new Array();
//反斜杠需要会被转移,所以需要做以下处理
var projectFolderPath="\\\\aaa\\bbb\\ccc";
function load(){
var fileDiv=document.getElementById("container");
<span style="white-space:pre"> </span>//该插件就是JS读取文件、目录的插件
var fso = new ActiveXObject("Scripting.FileSystemObject");
var folder=fso.GetFolder(projectFolderPath);
var subFolders = new Enumerator(folder.SubFolders);
var id=0;
for(;!subFolders.atEnd();subFolders.moveNext()){
//subFolders.item()获取的是全路径
var subfld=fso.GetFolder(subFolders.item());
projArray.push(subfld);
<span style="white-space:pre"> </span>//动态生成列表:采用bootstrap中的Button列表选项
var buttonStr='<button type="button" class="btn btn-primary btn-lg btn-block" onclick="btnOK(this)" id="'+id+'">'+subfld.Name+"</button>";
fileDiv.innerHTML+=buttonStr;
id++;
}
}
function btnOK(btn){
var enumFiles=new Enumerator(projArray[btn.id].files);
<span style="white-space:pre"> </span>//搜索该目录下是否存在'*.fly格'的文件
for(;!enumFiles.atEnd();enumFiles.moveNext()){
var file=enumFiles.item();
if(file.type.toLowerCase()=="TerraExplorer Header".toLowerCase()){
//sgworld.ProjectTree.LoadFlyLayer(file.path);
sgworld.Open(file.path);
return;
}
}
alert("没有找到FLY文件!");
}
</script>