ASP.NET,IIS7.0 上传大视频文件报错

一、问题概述:

最近开发上传视频文件的功能。基本流程已经跑通了,可是上传30M以上的文件时就会报错。

 

二、资料海洋瞎扑腾

从网上查了一些资料,一般都是下面这种说法:

看着步骤倒是也不算繁琐,可是本人照着步骤做了却没找到所说的<requestLimits>节点。无奈了。如果有高人明白咋回事的话麻烦指点下。。。

三、暮然回首,答案就在灯火阑珊处

其实上面分析的错误原因是对的,就是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了。

至此,大功告成。

 参考资料:http://help.powereasy.net/help/SiteFactory/2779.html

原文地址:https://www.cnblogs.com/janes/p/1881069.html