如何上传超过2MB的文件

时间:2009-11-05 23:01:20

标签: .net asp.net

有一个限制,我无法上传超过此限制的文件。

当我将maxRequestLength属性设置为超过此限制时,我将收到此错误:

The value for the property 'maxRequestLength' is not valid. The error is: The value must be inside the range 0-2097151.

那么我怎样才能上传5 MB大的图片?我无法使用FTP访问。

4 个答案:

答案 0 :(得分:8)

它以千字节为单位,而不是字节:

<强> maxRequestLength on MSDN:

  

表示最大文件上载大小   ASP.NET支持。这个限制可以   用于防止拒绝服务   用户发帖量大的攻击   文件到服务器。尺寸   指定的是以千字节为单位。默认   是4096 KB(4 MB)。

答案 1 :(得分:0)

该值以千字节为单位,因此将maxRequestLength设置为8124将允许8MB上传

答案 2 :(得分:0)

maxRequestLength的单位是KB。默认值为4096,表示4MB。

只需将其修改为类似32000

的值即可

答案 3 :(得分:0)

您可以更改网络中的最大请求长度。配置文件

<httpRuntime maxRequestLength="102400" />

请记住,用户仍然会受到带宽问题的限制,并且可能会收到超时错误。

您可以在Global.asax文件中放置类似的内容,以更友好的方式处理错误:

protected void Application_Error(object sender, EventArgs e)
{
    Exception sourceException = Server.GetLastError().InnerException != null ? Server.GetLastError().InnerException : Server.GetLastError().GetBaseException();

    if (sourceException.Message.Equals("Maximum request length exceeded.") && Request.ContentType.Contains("multipart/form-data"))
    {
        HttpContext.Current.Server.ClearError();
        string path =//specify page to redirect to
        HttpContext.Current.Response.Redirect(path);/*in casini just get cannot connect page, but in iis get appropriate page*/ 
    }

}