首页 新闻 会员 周边

如何在前端页面,打开本地文件夹

0
悬赏园豆:10 [待解决问题]

场景是 动漫设计的时候,会有一条记录与网盘上的一个文件夹对应,文件夹里放的是相关资源。现在就是想点击jsp页面,打开相应的文件夹,然后把图片或什么文件放进去作为参考或者反馈。然后制作人员点击jsp直接定位到文件夹可以查看反馈。
打开效果如图
图片说明
ie浏览器特有的activeX 能够实现。但是其他浏览器不兼容。

ie的js代码为:

function openFileIIs(){     
    var filename = "d:\\test\\";       
    try{   
        var obj=new ActiveXObject("wscript.shell");   
        if(obj){   
            obj.Run("\""+filename+"\"", 1, false );  
            //obj.run("osk");/*打开屏幕键盘*/  
            //obj.Run('"'+filename+'"');   
            obj=null;   
        }   
    }catch(e){   
        alert("请确定是否存在该盘符或文件");   
    }   

} 
Mr、Bo的主页 Mr、Bo | 初学一级 | 园豆:198
提问于:2017-07-12 15:39
< >
分享
所有回答(2)
0

一个是把文件放到这个地方,另一个是从这个地方把文件拿出来,用上传下载就行吧?

大可怕 | 园豆:223 (菜鸟二级) | 2017-07-13 11:04

打开这种文件浏览器窗口后,基本跟程序没啥关系了。 就和平常操作电脑一样。要的就是这种直观的,直接打开也不用下载

支持(0) 反对(0) Mr、Bo | 园豆:198 (初学一级) | 2017-07-13 11:08

@Mr、Bo: 那通过你说的activeX可以的,不过这是js的对象,你说其他浏览器不兼容的话你可以参考这个:

http://blog.csdn.net/cofesun/article/details/7904887

支持(0) 反对(0) 大可怕 | 园豆:223 (菜鸟二级) | 2017-07-13 11:20

@大可怕: 这是ie特有的,参考也没用

支持(0) 反对(0) Mr、Bo | 园豆:198 (初学一级) | 2017-07-13 11:22

@Mr、Bo: JavaScript有个特殊的对象ActiveXObject,通过它可以访问windows的本地文件系统和应用程序

支持(0) 反对(0) 大可怕 | 园豆:223 (菜鸟二级) | 2017-07-13 11:24

@大可怕: 

支持(0) 反对(0) Mr、Bo | 园豆:198 (初学一级) | 2017-07-13 11:26
0

3、 调用本地 .bat 文件

这个方法稍微复杂些,用类似网页打开迅雷等应用的方法,做一个协议注册到系统注册表里,如下

 

Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\TEST] @="TEST" "URL Protocol"="" [HKEY_CLASSES_ROOT\TEST\DefaultIcon] @="C:\\test.bat" [HKEY_CLASSES_ROOT\TEST\shell] [HKEY_CLASSES_ROOT\TEST\shell\open] [HKEY_CLASSES_ROOT\TEST\shell\open\command] @="C:\\test.bat \"%1\""

test.bat 内容

@ECHO off SET dir=%1 ECHO explorer /root,%dir:~8,-2% explorer /root,%dir:~8,-2% EXIT

然后网页上这样写

<a href="test://C:\文件夹">Test</a> 或 <a href="test://C:\test">Test</a>

这样,test:// 打开本地的 test.battest.bat 又接收一个参数 C:\文件夹 打开文件夹,运行纯英文目录是没问题的,中文不行,后来发现传的参数被 Chrome 转码了。

Mr、Bo | 园豆:198 (初学一级) | 2017-07-17 09:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册