ASP.Net上传大文件解决方案之IIS7.0下的配置

11/25/2015来源:ASP.NET技巧人气:2278

开源的Brettle.Web.NeatUpload.在公司IIS6.0使用正常,但是在Windows 2008 server IIS7上使用不正常。
在网上看到一个解决办法但是没有效果

IIS 7 默认文件上传大小时30M 要突破这个限制:
就是IIS中允许上传的最大文件默认是20多M,所以当上传较大的文件时才会报这个错误。后来用另外一种途径修改了这种设置。

目标是要修改文件C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml 。绿色下划线部分使我们要修改的目标位置。

<element name="requestLimits">       <attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" />      
 <attribute name="maxUrl" type="uint" defaultValue="4096" />       
<attribute name="maxQueryString" type="uint" defaultValue="2048" />       
<element name="headerLimits">         
<collection addElement="add" clearElement="clear" removeElement="remove">
    <attribute name="header" type="string" required="true" isUniqueKey="true" validationType="nonEmptyString" />          

<attribute name="sizeLimit" type="uint" required="true" />         </collection>       </element>

问题在于,这个文件是只读的,即使用管理员权限也不能修改。要先修改文件的权限,然后去掉只读属性才可以。

1.右键文件->属性->安全,选中目标用户,点击高级,修改文件所有者;

2.确定后点击编辑,就可以修改当前用户的权限了,添加“写入”权限。至此,权限设置OK了。

3.将文件的只读属性去掉。

4.以管理员身份打开VS,然后在VS中编辑目标XML文件,修改所需位置即可。

5.上传个100M的视频,OK了。

打开系统所在分区的\Windows\System32\inetsrv\config\schema文件夹再用记事本打开 IIS_schema.xml 查找 然 后修改30000000这个数值。但我试验的结果不成功,以Administrator超级用户登陆来修改,保存时提示没有权限,该文件为只读的,始终无 法修改文件属性,所以我个人认为这个办法不适合一般用户,

所以继续寻找新的方法。

 

Win7的IIS配置中打开200k上传限制要分两步:

        一、从IIS配置中修改“最大请求实体主体限制”的值;

        二、从“请求筛选”配置中修改“允许的最大内容长度”的值。这两个步骤应该是不分先后的。

下面是我每一个操作步骤的截图,有基础的一看就懂,看不懂的再结合文字说明吧。

如果图片看不了,请查看原文:http://www.360doc.com/content/10/1109/22/1111809_68055132.shtml