我想在jsp中实现 点击浏览按钮可以浏览本地磁盘目录,类似安装文件时选择目标地,不是file文本域
解决方案 »
- 在启动Tomcat的时候报错,我用了一个分页组件,请问这是怎么回事?
- 使用Struts2上传文件,在linux下报错
- 求助:hibernate中我用session查询之后在没关闭的情况下出现问题,不知何解
- 如何关闭数据库连接。。
- 像sina , qq , 发表动态那样的 文本编辑器
- java用预处理的方式怎么控制用户输入特殊参数后台不出错
- 有那位高手,对struts比较熟悉的请进
- eclipse中tomcat配置问题
- 在struts中,如何默认选中<html:checkbox>的某个值?
- ejb的remote接口返回的对象需要实现序列化接口,但是没有实现它的任何方法呀?
- 菜鸟求教SSH2登录例子问题
- 关于servlet-mapping的问题
其次,如果用客户端脚本语言(js之类的)也无法实现,因为客户端脚本语言规范本身为了安全性,不允许以自定义的方式直接访问本地任何资源(cookie之类有严格访问规定的除外),只能通过浏览器file控件去访问本地磁盘(而且不允许初始化访问路径,想想这是为什么?)
所以你的这个需求从根本上来讲是无法实现的,除非你安装了客户端插件,那其实等于安装了桌面程序,和浏览器就无关了。
记住,一切为了安全性。
并不清楚楼主的意图是什么,但是:
1、要注意安全性,你这样直接暴露磁盘的做法很危险;
2、有大把做文件共享的工具,比如FTPServer、SMBServer之类的,比你用Tomcat去做这事情,高效多了。
<input type="file" name="file" id="file">
可以找到本地文件
这个就类似安装文件时选择目标地文件
还是你只想或的目录不要文件?
我做的是c/s模式的 java web开发,所以肯定需要jsp做页面呈现层滴....
如果你想直接用Web页面方式来备份整个目录,这事情Web做不来。
不是简单的困难问题,浏览器安全沙箱根本就不允许你的Web页面主动去把搜索本地某个目录,还上传其所有文件基本上你要用ActiveX来解决,不过微软提供了一个 Scripting.FileSystemObject
你可以借助它来做一些事情,但是需要设置目标站点为信任域。
信任站点这个设置就太简单了吧自己Google下,就在浏览器的选项里面可以配置的。然后再自己Google下Scripting.FileSystemObject的API介绍和Demo,它提供绝大多数操作文件的方法。
http://showlike.iteye.com/blog/692300http://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给你的各种建议,应该能够实现。
我想已经说得够清楚了,再纠结我只能说分配给你任务的领导太不会用人了!