java文件上传在firefox下正常,在IE下出错!

dm520 2009-01-20 01:32:51


System.out.println("开始进行文件上传");
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(4194304); // 设置最大文件尺寸,这里是4MB
fu.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
fu.setRepositoryPath(tempPath); // 设置临时目录
List fileItems = fu.parseRequest(request); // 得到所有的文件:
Iterator i = fileItems.iterator();
// 依次处理每一个文件:可以实现多个文件上传
while (i.hasNext()) {
System.out.println("文件上传中!");
FileItem fi = (FileItem) i.next();
//System.out.println(fi.getSize());
if(fi.getSize()>0&&"services_cfg.xml".equals(fi.getName())){
fi.write(new File(filePath));
}else{
msg.addException("请上传的正确的文件");
return msg.asXML();
}
}

System.out.println("文件上传中!");




...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dm520 2009-01-20
  • 打赏
  • 举报
回复
楼上说的完全正确,满分送上
zou_wei_forever 2009-01-20
  • 打赏
  • 举报
回复
为了兼容firefox和ie,可以这样截取文件名:
String tmpName = fi.getName();
int index=-1;
index = tmpName.lastIndexOf("\\");
if(index >=0)
{
String realName = tmpName.substring(index+1);
}
zou_wei_forever 2009-01-20
  • 打赏
  • 举报
回复
可能是fi.getName()这块出错了!
firefox中fi.getName()直接得到的是文件名(不包括路径)
而ie中fi.getName()得到的是文件在客户端的路径+文件名!
可以打印出来看看!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧