15

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

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

谢谢

4

4 回答 4

35

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

学习上传大文件的一个很好的链接是: 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或flash swfupload

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/

他提到了一个代码项目项目(!),这是另一个使用大文件和闪存的非常好的例子:

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

于 2008-12-20T22:39:54.240 回答
6

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

请参阅此链接

于 2008-12-20T21:55:28.310 回答
2

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

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

C:\WINDOWS\system32\inetsrv\urlscan

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

于 2012-05-29T22:06:10.270 回答
0

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

RadFileExplorer1.Configuration.MaxUploadFileSize = 2000 * 1024; 

它对我有用。

于 2014-07-01T08:49:39.293 回答