请教一个多文件上传的问题

ailby0709 2013-09-25 11:00:32
要将本地多个文件上传到服务器,而且在上传之前要对每各文件进行从大小的检验。
现在在调查DiskFileUpload,可是设置每个文件的大小,但是如果文件过大的话,也是需要的时间很长。请教各位大侠,有没有其余的办法!
...全文
365 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
ailby0709 2013-10-22
  • 打赏
  • 举报
回复
谢谢楼上各位,学习了。 最后用的是这个 tems = upload.parseRequest(request); Iterator it = items.iterator(); while (it.hasNext()) { FileItem item = (FileItem) it.next(); 把上传类反编译出来的。
key2value 2013-10-10
  • 打赏
  • 举报
回复
lz可以看看uploadify……挺好的
fuzeqiang 2013-10-10
  • 打赏
  • 举报
回复
lz你是不是用户的本地机器上没有客户端,是用浏览器的?你想用js判断文件大小?用js也不难啊。
ma_thirdtime 2013-10-09
  • 打赏
  • 举报
回复
引用 13 楼 u011972917 的回复:
[quote=引用 6 楼 ma_thirdtime 的回复:] 每个文件限制大小,看看下面的代码能帮助你吗,可以自己getSize()来判断啊。 String value=item.getName(); int start=value.lastIndexOf("\\"); String fileName=value.substring(start+1); if(fileName.length() == 0 || fileName == ""){ }else{ if(item.getSize()>10000000){ out.println("<script>alert('对不起,您上传的文件超过10M,无法完成上传!');window.close();</script>"); return; }else{ …………………………………… }
+1 [/quote] 是的。 //通过解析request 把所有参数放到一个 List<FileItem>中 , items = upload.parseRequest(request); Iterator it = items.iterator(); while (it.hasNext()) { FileItem item = (FileItem) it.next(); ^^^^^^^^^^
ailby0709 2013-10-09
  • 打赏
  • 举报
回复
祝楼上的高人们10、1快乐哈 放了10天假,才回来,不好意思了
ailby0709 2013-10-09
  • 打赏
  • 举报
回复
引用 25 楼 ch656409110 的回复:
只要你不把提交按钮设置成submit类型的,禁用浏览器js了就不会提交,,,并且如果别人直接访问服务端,那就加个非空判断。。
谢谢,现在是客户要求不能再JS里判断,只能通过request在后台判断
piaopiaoa 2013-09-26
  • 打赏
  • 举报
回复
上面好多大神
蓝月希 2013-09-26
  • 打赏
  • 举报
回复
计算文件的总大小,超过的话提示!
效林少爷 2013-09-26
  • 打赏
  • 举报
回复
引用 7 楼 zhuchao_ko 的回复:
[quote=引用 4 楼 ailby0709 的回复:] [quote=引用 1 楼 zhuchao_ko 的回复:] 一个会,再加一个就不会了?
是呗,原来一个好好的,客户非要弄5个,崩溃了[/quote] 不就个循环嘛 ,要是哪天客户说 N个你怎么办? JQUERY.UPLOAD.JS 有插件的。[/quote] +1
宁波朱超 2013-09-26
  • 打赏
  • 举报
回复
引用 10 楼 ailby0709 的回复:
[quote=引用 7 楼 zhuchao_ko 的回复:] [quote=引用 4 楼 ailby0709 的回复:] [quote=引用 1 楼 zhuchao_ko 的回复:] 一个会,再加一个就不会了?
是呗,原来一个好好的,客户非要弄5个,崩溃了[/quote] 不就个循环嘛 ,要是哪天客户说 N个你怎么办? JQUERY.UPLOAD.JS 有插件的。[/quote] 一个和五个是不一样的。。。 在apache中,有自己的上传类,它通过一个请求request取得所有的文件大小 但却不能将一个request中的每个文件分割出来,至少不能先判断大小在分割的[/quote] .....呵呵
  • 打赏
  • 举报
回复
只要你不把提交按钮设置成submit类型的,禁用浏览器js了就不会提交,,,并且如果别人直接访问服务端,那就加个非空判断。。
ailby0709 2013-09-26
  • 打赏
  • 举报
回复
引用 19 楼 ch656409110 的回复:
哦哦 ,上班太急躁 没看清楚,,这里有例子: http://www.dewen.org/q/3326
谢谢。看了之后发现是在javascript中判断的,这样安全性会不会低一点
无聊找乐 2013-09-25
  • 打赏
  • 举报
回复
引用 2 楼 rainbowsix 的回复:
比较复杂的功能用flash好了
flash做还可以显示传输进度
无聊找乐 2013-09-25
  • 打赏
  • 举报
回复
比较复杂的功能用flash好了
宁波朱超 2013-09-25
  • 打赏
  • 举报
回复
一个会,再加一个就不会了?
  • 打赏
  • 举报
回复
哦哦 ,上班太急躁 没看清楚,,这里有例子: http://www.dewen.org/q/3326
ailby0709 2013-09-25
  • 打赏
  • 举报
回复
引用 17 楼 ch656409110 的回复:
不用上传到服务器才去检查大小,浏览器端 一样可以,,按照14楼的做,,另外包括上传的类型,等等也可以判断。。
我试过14楼的,他的做法也是在服务器端进行check的。最起码是将所有文件读取一遍之后才能取得文件的大小
  • 打赏
  • 举报
回复
不用上传到服务器才去检查大小,浏览器端 一样可以,,按照14楼的做,,另外包括上传的类型,等等也可以判断。。
ailby0709 2013-09-25
  • 打赏
  • 举报
回复
引用 15 楼 ch656409110 的回复:
找你这么说 就只能异步把5个file分开上传了
分开上传也是提交一次。。。 只是提交一次怎么在真正上传到服务器之前把5个文件的大小check出来呢
  • 打赏
  • 举报
回复
找你这么说 就只能异步把5个file分开上传了
加载更多回复(11)

81,092

社区成员

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

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