代码之家  ›  专栏  ›  技术社区  ›  Etienne

确保用户上传图像大小不超过1MB的最佳方法

  •  3
  • Etienne  · 技术社区  · 16 年前

    我正在使用ASP.NET和VB.NET。 是否有一些验证器可以用来检查上传图像的大小? 否则,我必须在代码中做什么,以确保用户上传的图像不超过1MB?

    P.S C代码也可以,我可以使用到vb.net的转换器

    编辑

    出于某种原因,当我将maxrequestlength更改为1024(在web.config中)并上载大小为1.25MB的图像时,我会得到Microsoft错误页,上面显示“Internet Explorer无法显示网页”。我的提交按钮中有一个try-catch块。如果我从web.config中删除maxrequestlength,那么它可以正常工作。

    3 回复  |  直到 11 年前
        1
  •  4
  •   BobbyShaftoe    16 年前

    这最终在web.config中处理。查找httpruntime部分:

    <httpRuntime 
     executionTimeout="110" 
     maxRequestLength="4096" 
    />
    

    httpruntime中有许多其他设置,但这两个设置是相关的。这里,maxrequestlength设置为4096或4KB(数字以字节为单位)。所以,相应地设置这个值。此外,您还需要相应地设置ExecutionTimeout,以便为上载您最大上载量的内容提供合理的时间。

        2
  •  2
  •   Vikram    16 年前

    您可以使用以下代码确定上载文件的大小[以KB为单位],一旦您知道该大小,就可以轻松地决定是否要继续处理该文件或拒绝上载。

    Request.Files(0).ContentLength / 1024
    
        3
  •  0
  •   Chris Hynes    13 年前

    出现“无法显示网页”错误,因为ASP.NET断开了超大请求的连接,以减轻基于超大请求的DoS攻击。为了解决这个问题,您必须在iframe中进行上载,然后检测是否发生了错误。您还可以使用安装在客户端上的Flash、Silverlight、Java或ActiveX上传组件来验证客户端的文件大小,但这取决于您的解决方案是否需要安装。