日期:2014-05-19  浏览次数:20700 次

jsp中浏览并选择本地磁盘目录
我想在jsp中实现 点击浏览按钮可以浏览本地磁盘目录,类似安装文件时选择目标地,不是file文本域
------解决方案--------------------
首先,jsp语言本身是服务端语言,和本地磁盘目录根本没有任何关系。用jsp去访问本地磁盘是“驴头不对马嘴”的问题,请楼主恶补一下jsp、servlet基础。
其次,如果用客户端脚本语言(js之类的)也无法实现,因为客户端脚本语言规范本身为了安全性,不允许以自定义的方式直接访问本地任何资源(cookie之类有严格访问规定的除外),只能通过浏览器file控件去访问本地磁盘(而且不允许初始化访问路径,想想这是为什么?)
所以你的这个需求从根本上来讲是无法实现的,除非你安装了客户端插件,那其实等于安装了桌面程序,和浏览器就无关了。
记住,一切为了安全性。
------解决方案--------------------
可以直接装个Apache服务器,把路径设置为你想公开的磁盘路径,配置中开启目录访问即可。

Tomcat应该也有类似能力,记不清了。


并不清楚楼主的意图是什么,但是:
1、要注意安全性,你这样直接暴露磁盘的做法很危险;
2、有大把做文件共享的工具,比如FTPServer、SMBServer之类的,比你用Tomcat去做这事情,高效多了。


------解决方案--------------------
楼主这个“浏览按钮可以浏览本地磁盘目录”是指哪个本地,客户端本地还是服务器本地?

觉得楼主是不是只要一个文件上传的功能啊?可以浏览本地文件,选择要上传的文件。

<input type="file" name="file" id="file">
------解决方案--------------------
C/S 系统跟JSP有毛的关系啊,这个标题太能误导人了。

直接用Swing,里面有个JFileChoose(忘了是不是这个名字了),可以用来选择目录文件。
------解决方案--------------------
楼主说的就是文件域
<input type="file" name="file" id="file">
可以找到本地文件
这个就类似安装文件时选择目标地文件
还是你只想或的目录不要文件?
------解决方案--------------------
跟ASP没有关系。。。我怎么可能在Java论坛整ASP的东西。。。

Scripting.FileSystemObject 是个ActiveX控件,用JavaScript进行操作。


http://showlike.iteye.com/blog/692300

http://www.legalsoft.com.cn/docs/419.html

最好自己直接去MSDN上学习学习。
------解决方案--------------------
楼主,你看看我这个笨思路行得通不,但操作起来有点怪,选择文件得到该文件目录下的所有子文件,思路如下:
1:<input type="file" name="file" id="file">选择一个文件,好像这个方法getAbsolutePath()可以得到一个完整目录加文件名字符串,具体方法查查API;
2:再用File类的getParentFile()得不当前目录的父目录(即上一级目录);
3:再用File类的list()方法得到该文件目录下的所有子文件,目录好像也可以拿到,好像要加什么参数之类的,具体查查API;
4:遍历文件数组,把需要文件写到别的目录。

------解决方案--------------------
楼主我建议你放弃用网页来实现这个功能吧。
还不如写个桌面程序来实现这个功能。比如swing,可以很轻松的实现。
你可能会说客户不希望安装客户端程序,但你说的这个功能本身就不是web去实现的(安全性问题,ldh911也反复给你解释了,并不是说web功能弱不能实现你那个需求,而是它的初衷就是以安全性为基础考虑的,不允许直接访问客户的私有资源,你想想,如果web客户端随意就能访问你的本地资源,那你开一个网页岂不是你的隐私暴露无遗!)
其实浏览器不也是客户端吗?无非它遵循了某些传输和展示标准而已,而不是像C++、C#、java、delphi等等各有各的标准。如果安装active控件,其实和安装swing桌面程序没有区别,swing程序也可以在网页自动下载安装嘛,只不过它没有内嵌到浏览器中。
楼主,如果你不考虑安全性非要在浏览器中实现这个功能,那你再好好看看ldh911给你的各种建议,应该能够实现。
我想已经说得够清楚了,再纠结我只能说分配给你任务的领导太不会用人了!