如何限制用户上传文件的大小?

comehope 2004-08-30 02:31:28
我正在做一个社区的网站,允许用户上传自己的文件来和大家分享,用的是化境无组件上传。现在遇到一个问题,无法在提交前判断上传文件的大小,如果用户上传了一个几十兆的文件,也只能在上传以后读取,这样将会非常耗费系统资源,如果有人恶意上传巨大的文件,就麻烦了。

不知HTML能不能在表单提交前进行判断,或者不要在上传全部文档后再检查文件大小,而是先检查文件大小。或者还有更好的办法?

请大家指教!多谢!
...全文
220 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzq686 2004-08-30
  • 打赏
  • 举报
回复
我粘帖子的时候写了。。“下面的只是在上传前判断图片大小的例子。。。”
再说里面的代码就是对IMG的。。你加别的不行。。
晕。。你再看看下面几个帖子吧。。
http://search.csdn.net/Expert/topic/1796/1796846.xml?temp=.7781183
http://search.csdn.net/Expert/topic/1536/1536617.xml?temp=.6751062
http://search.csdn.net/Expert/topic/2486/2486327.xml?temp=.340954

comehope 2004-08-30
  • 打赏
  • 举报
回复
刚试了一下。

mackyliu(NB联盟--风流才子)的代码,在执行到
var objStream = new ActiveXObject("ADODB.Stream");
时就出错,错误信息是“Automation服务器不能创建对象”。我用的是IE6.0,已将安全级别调为“低”。

xzq686(瞬)的代码只能选择图片,如果是其他类型的文件,就会提示“cant load img”。

还是想用mackyliu(NB联盟--风流才子)的代码,但不知为何不能建立 ADODB.Stream 对象,请指教!多谢!
xzq686 2004-08-30
  • 打赏
  • 举报
回复
FSO的FILE对象的size属性好像能用。。
可以用FSO的File对象的getfile()方法加载一个文件。然后再用File的Size属性。楼主可以试试。。
闪人。。。
comehope 2004-08-30
  • 打赏
  • 举报
回复
多谢大家关心。
mackyliu(NB联盟--风流才子) 的方法我还有测试,不过,把后台的流转到前台,相当于把服务器端的负载转到了客户端,还是有一定效果的。
xzq686 2004-08-30
  • 打赏
  • 举报
回复
mackyliu(NB联盟--风流才子) 的程序在前台用流的方式速度也没怎么提高呀。
楼主用的是在后台的流。你放到了前台。。。晕。。。和后台处理方式一样。。楼主可以试试。传一个大文件。和放到后台一样。。
yonghengdizhen(等季节一过,繁花就凋落') 说的有道理。上面的例子就是用图片的预加载。。
xzq686 2004-08-30
  • 打赏
  • 举报
回复
下面的只是在上传前判断图片大小的例子。。。
http://dev.csdn.net/article/33/33477.shtm
风流才子 2004-08-30
  • 打赏
  • 举报
回复
<script language="Jscript">
function chkfile(strFileName)
{
var objStream = new ActiveXObject("ADODB.Stream");
objStream.Type = 1;
objStream.Open();
objStream.LoadFromFile(strFileName);
if(Math.round(objStream.Size/1024,2)>100)
{alert ("您选择的文件大小为 " + Math.round(objStream.Size/1024,2) + " KB 超过了上传限制!");
return false;
}
}
</script>
<input type="file" size="20" name="Upload" onchange="chkfile(this.value)">
yonghengdizhen 2004-08-30
  • 打赏
  • 举报
回复
如果是图片文件可以通过预加载img标签的方式处理fileSize属性判断.
其它的ie识别的mime类型的文件也都可以通过预加载该文档,通过document.fileSize属性判断.
风流才子 2004-08-30
  • 打赏
  • 举报
回复
JS可以。我做过一个。我找找。
jzywh 2004-08-30
  • 打赏
  • 举报
回复
html当然不能判断?

上传组件里面 应该有这样的文件大小属性 加一个条件判断就够了!
huhanshan013 2004-08-30
  • 打赏
  • 举报
回复
以前用过化境的,有地方可以限制大小的,你找找吧。
另外假如真的找不到,可以这样啊,先验证大小,再决定调用化境还是不调用来上传啊!

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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