【问题标题】:Increase file upload size limit in iis6在 iis6 中增加文件上传大小限制
【发布时间】:2010-09-27 21:08:11
【问题描述】:

除了metabase.xml文件还有其他地方可以修改文件上传大小吗?

我目前正在使用 IIS6 运行暂存服务器,它设置为允许上传最大 20mb 的文件。这工作得很好。我有一个新的生产服务器,我正在尝试设置相同的可用大小限制。所以我编辑了 metabase.xml 文件并将其设置为 20971520。然后我重新启动了 IIS,但没有成功。所以我然后重新启动了整个服务器,这也没有用。我可以上传大约 2mb 的文件,所以它绝对允许文件大小大于标准的 200kb 默认大小。我尝试上传一个 5mb 的文件,但我的 upload.aspx 页面完全崩溃了。是否有可能我需要配置其他东西?生产服务器位于服务器场上,是否可以在那里设置一些限制?

谢谢

【问题讨论】:

    标签: .net iis-6 file-upload uploading


    【解决方案1】:

    如果您是从 rad-control 上传文档,则可以使用这行代码。

    RadFileExplorer1.Configuration.MaxUploadFileSize = 2000 * 1024; 
    

    它对我有用。

    【讨论】:

      【解决方案2】:

      我已经为这个问题苦苦挣扎了几个小时,终于解决了我的特殊问题,我想在这里分享。

      如果您使用urlscan,则其配置中也存在文件大小限制。要对此进行更改,您需要编辑位于(通常)位于以下位置的文件“UrlScan.ini”:

      C:\WINDOWS\system32\inetsrv\urlscan

      将“MaxAllowedContentLength”的值更改为您想要的最大文件大小值。

      【讨论】:

        【解决方案3】:

        我会扩展我对您问题的回答,以考虑其他可能的情况。

        一个很好的学习上传大文件的链接是这个: http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

        Jon Galloway 在这里解释了解决问题的最佳技术:

        1.-更改机器配置或web.config:

        <system.web>
          <httpRuntime executionTimeout="240" maxRequestLength="20480" />
        </system.web>
        

        在这里,您不仅要更改 maxRequestLength,而且还必须为 executionTimeout 提供更多秒数。

        有趣的事情:考虑到这个设置的值在调试模式下被忽略了。 .NET Framework 2.0 中的默认值为 110 秒。在 .NET Framework 1.0 和 1.1 中,默认值为 90 秒。

        2.-谈真正的解决方案,HttpModules喜欢免费的NeatUpload

        3.-解释另一种更直观的上传方式:Silverlight或flashswfupload

        4.-他谈到了 II7 的一个限制。在此页面http://www.telerik.com/help/aspnet-ajax/upload_uploadinglargefiles.html 您可以找到更多有趣的 IIS 7 设置,最大设置为 100 兆。 您添加:

         <system.webServer>
        ...
           <security >
             <requestFiltering>
               <requestLimits maxAllowedContentLength="1024000000" />
             </requestFiltering>
           </security>
        </system.webServer> 
        

        您必须打开文件 C:\Windows\System32\inetsrv\config\applicationHost.config 并找到以下行:

        <section name="requestFiltering" overrideModeDefault="Deny" />
        

        改为:

        <section name="requestFiltering" overrideModeDefault="Allow" />
        

        Galloway 提到的另一个有趣的事情是:“在 ASP.NET 1.0 和 1.1 中,整个文件在写入磁盘之前被加载到内存中。在 ASP.NET 2.0 中进行了改进,以便在上传过程中将文件流式传输到磁盘。 "

        对于 IIS6,Chris 给出的解决方案我认为是合适的:

        http://www.banmanpro.com/support2/File_Upload_limits.asp

        另一个来源:

        http://www.telerik.com/support/kb/aspnet-ajax/upload/page-not-found-error-when-uploading-large-files-on-win2003.aspx


        一个用户在这里测试了很多组件的另一个 URL:

        http://remy.supertext.ch/2008/01/file-upload-with-aspnet/

        他提到了一个codeproject项目(!),这是另一个使用大文件和flash的很好的例子:

        http://www.codeproject.com/KB/aspnet/FlashUpload.aspx

        【讨论】:

          【解决方案4】:

          如果您使用的是 ASP .NET,则需要修改 ma​​xRequestLength web.config 属性。

          this link

          【讨论】:

          • 是的,默认的最大文件大小为 4MB:msdn.microsoft.com/en-us/library/…
          • 在我的登台服务器中,我没有这些设置。但是我仍然可以上传更大的文件。
          • Maxrequestlength 属性似乎有效。出于某种原因,我的登台服务器中没有该设置,但它仍然有效。哦,好的,谢谢
          猜你喜欢
          • 2019-02-08
          • 2012-04-26
          • 1970-01-01
          • 2015-05-07
          • 1970-01-01
          • 1970-01-01
          • 2023-01-28
          • 1970-01-01
          • 2019-02-27
          相关资源
          最近更新 更多