除了metabase.xml文件之外还有其他地方可以修改文件上传大小吗?
我目前正在运行一个带有IIS6的登台服务器,它的设置允许上传最大20mb的文件。这完全没问题。我有一个新的生产服务器,我试图设置相同的可用大小限制。所以我编辑了metabase.xml文件并将其设置为20971520.然后我重新启动了IIS,但是没有用。所以我然后重新启动整个服务器,这也没有用。我可以上传2mb左右的文件,因此它绝对允许文件大小超过标准的200kb默认大小。我尝试上传5mb文件,我的upload.aspx页面完全崩溃。是否有可能需要配置其他东西?生产服务器位于服务器场上,是否可以设置一些限制?
谢谢
答案 0 :(得分: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://remy.supertext.ch/2008/01/file-upload-with-aspnet/
他引用了一个codeproject项目(!),这是另一个在这里使用大文件和flash的非常好的例子:
答案 1 :(得分:6)
如果您使用的是ASP .NET,则需要修改 maxRequestLength web.config属性。
请参阅this link。
答案 2 :(得分:2)
我一直在努力解决这个问题几个小时,最后解决了我的特殊问题,我想在这里分享。
如果您使用urlscan,则其配置中也存在文件大小限制。要对其进行更改,您需要编辑位于(通常)的文件“UrlScan.ini”:
C:\窗口\ system32 \ INETSRV \ URLScan的
将“ MaxAllowedContentLength ”的值更改为所需的最大文件大小值。
答案 3 :(得分:0)
如果您要从rad-control上传文档,那么就可以使用这行代码。
RadFileExplorer1.Configuration.MaxUploadFileSize = 2000 * 1024;
它对我有用。