AsyncFileUpload文件大小限制

时间:2010-08-30 04:52:22

标签: asp.net asp.net-ajax ajaxcontroltoolkit

当我使用AsyncFileUpload上传100KB图片时,我没有收到任何错误消息。但是图片没有上传。我可以上传75KB图像。我正在使用IIS 6.0。

    <cc1:AsyncFileUpload ID="afuImg" Width="400px" runat="server" 
UploaderStyle="Traditional" ThrobberID="Throbber2"  
    OnClientUploadError="uploadErrorImg" 
    OnClientUploadStarted="StartUploadImg" 
    OnClientUploadComplete="UploadCompleteImg" />

<httpRuntime maxRequestLength = "1024000" 
executionTimeout="54000" 
enableHeaderChecking ="false" />

2 个答案:

答案 0 :(得分:5)

您可以上传总大小不超过2GB的文件,但需要对应用程序配置文件进行一些修改。

  • 将httpRuntime中的 maxRequestLength 设置为1024000000(最大2GB ,您已完成此操作)
  • 指定在ASP.NET自动关闭之前允许执行请求的最大秒数。在调试模式下,将忽略此设置的值。 .NET Framework 2.0中的默认值为110秒。 要启用大文件上载(可能需要很长时间),请增加此属性。 请参阅以下MSDN文章:http://msdn2.microsoft.com/en-us/library/e1f13641.aspx
  • 打开文件 C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config 并找到以下行:

    <section name="requestFiltering" overrideModeDefault="Deny" />
    
  • 将overrideModeDefault属性设置为允许
  • 可以在 machine.config 文件的元素中分配以下属性。它们必须设置在机器级别,而不是web.config中的应用程序级别。
  • responseDeadlockInterval - 指定时间间隔,格式为HH:MM:SS,如果在此间隔期间没有响应,则重新启动进程。默认值为3分钟。要允许非常大的上传,您可能需要增加此值。
  • responseRestartDeadlockInterval - 指定在上次重新启动之后必须经过的时间,格式为HH:MM:SS,以便在重新启动进程以再次解决死锁之前解除死锁。要允许非常大的上传,您可能需要增加此值。
  • AspMaxRequestEntityAllowed - 有时,当应用程序托管在Windows Server 2003上时,上述设置似乎没有效果。在这种情况下,您必须修改IIS元数据文件,尤其是AspMaxRequestEntityAllowed属性。有关详情,请参阅: http://www.telerik.com/support/kb/article/b454K-gth-b454T-cee.aspx

最后虽然我不经常看到它

  • 如果有任何第三方网络监控软件,您应确保已正确配置以允许文件上传所需的长度和内容。

此外,还有另一个关于stackoverflow的问题,该问题涉及此How do I configure IIS to handle really large file uploads?

在上面的问题中,答案https://stackoverflow.com/a/206796/728841列出了Urlscan是它拥有自己的请求实体长度限制的问题。此人不知道Urlscan正在服务器上运行,因为它是一个全局ISAPI过滤器,而不是在个人网站上运行。

注意:要找到全局ISAPI筛选器,请右键单击IIS Admin中的“Web站点”文件夹,然后单击“属性”,再单击“ISAPI筛选器”选项卡上的。

答案 1 :(得分:0)

尝试在IIS 6上传文件超过200KB时,文件可能永远不会上传,您可能会收到错误或被发送到空白屏幕。默认情况下,Windows服务器将文件上载限制为大约200KB。要克服此限制,您必须编辑IIS metabase.xml文件。

1.在编辑metabase.xml文件之前,必须告诉IIS允许您编辑该文件。在IIS中,右键单击服务器的名称并选择属性。选中“启用直接元数据库编辑”。

2.找到位于C:\ windows \ sytem32 \ inetserv中的metabase.xml文件,并在记事本中打开该文件。

3.搜索AspMaxRequestEntityAllowed并增加该值。默认值为204800(200K)。将值设置为1000000将允许1 MB文件上载。

4.您现在可能希望取消选中名为“启用直接元数据库编辑”的IIS属性。

要增加文件下载大小限制,请重复上述所有步骤,但在步骤3中找到名为AspBufferingLimit的参数。默认下载限制为4MB。