关于win7中不能读取页面中域文件全路径的问题
?
?经过悲剧的一周后,我更换了硬盘,原来的硬盘数据全部丢失了,惨痛的教训啊,以后一定要记得备份重要文件。。。。
步入正题。
我重新装了个win7系统,最近遇到一个问题是这样的:
在页面中要实现文件上传的功能,通过一个文件域如下的代码:
?<input type="file" name="file" size="50" name="fileDescribe" id="des1" value="" size="25"/>
?
接下来在处理上传文件的servlet中执行以下语句:
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(fileMaxSize);
List<FileItem> items = null;
items = upload.parseRequest(request);
for(Iterator iter = items.iterator(); iter.hasNext(); )
??{
????? FileItem item = (FileItem) iter.next();
?????
???? String fileNameWithPath = item.getName();?//完整路径名
System.out.println("完整路径名:"+item.getFieldName());
}
?
?
问题就出现在 item.getName()这里,按说应该是能返回选中的上传文件的在硬盘上的绝对路径的,但是在我的系统中得到就只是文件名,而没有路径名称。。。。。。。
?
?
据某个聪明的同学说,是win7操作系统安全级别设置的问题,打开工具-----Internet选项------安全-----自定义级别,里面有一项:通过域访问数据源,这一项win7默认设置是 禁止,选中 启用,还有一项是 将文件上传到服务器时包含本地目录路径,选择启用,然后确定,重启系统,问题解决了。
?
?