首页 新闻 会员 周边

web文件上传时如何在前端校验文件大小

0
悬赏园豆:5 [待解决问题]

现在要做一个文件上传的功能,需要在前端校验文件大小,并且同时支持IE7,IE8,IE9,FireFox,chrome,360浏览器,要求在校验的过程中不受浏览器安全级别设置的影响,也不会跳出什么安全提示。

在网上搜了一下,找不到什么解决方案,要么会有安全提示,要么压根就不起作用。自己也上各大网站看了一下,确实很难找到类似的应用,目前唯一发现能够做到这一点的只有exchange的邮件附件大小检测,但是不知道微软是怎么做到的,没有搜到相关资料。

freeman_rain的主页 freeman_rain | 初学一级 | 园豆:184
提问于:2012-08-05 22:06
< >
分享
所有回答(5)
0

这个貌似要用flash来做

artwl | 园豆:16736 (专家六级) | 2012-08-05 22:38
0

swfupload 检测fileSize

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2012-08-06 09:20
0

用  swfupload 控件实现上传 ,可以在前端获知文件大小。这个只能有flash做到,因为考虑到安全问题,js不允许对本地文件进行复杂操作。

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-08-06 10:13
0

不用纠结于用前端来实现,用后台同样可以实现,其实上传时浏览器会将文件的大小记录在请求头里。

就如同大文件上传一样,通过HttpWorkerRequest获取上传文件的大小,但并不保存文件,这样既可以判断文件大小、不需要上传文件,也可以在适合大小要求时立即保存文件。

向往-SONG | 园豆:4853 (老鸟四级) | 2012-08-06 12:42

我用的是java tomcat服务器,貌似这个对象是C#里面的,不知道J2EE里面是否有类似的应用

支持(0) 反对(0) freeman_rain | 园豆:184 (初学一级) | 2012-08-06 23:05

@freeman_rain: 

.net里Request对象是已经封装好了的所以要绕一个弯才能取到原始请求信息,貌似java里更容易吧,直接取到的就是最原始的请求信息,然后取到Content-Length。

支持(0) 反对(0) 向往-SONG | 园豆:4853 (老鸟四级) | 2012-08-07 09:42
0

如果是图片的话可以使用Image对象判断大小.

http://www.cnblogs.com/jackyrong/archive/2008/07/02/1234285.html

Tom.汤 | 园豆:3028 (老鸟四级) | 2012-08-06 13:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册