开源的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