关于.net 网站大文件上传

来源:互联网 发布:java object转int 编辑:程序博客网 时间:2024/06/08 18:36

文件上传网上的例子有很多,

但在上传超过4M的时候就会因超时效,这是.net默认上传为4M的原故

我在上传的时候就遇到了这样的问题,开始以为是上传的方法不对,后来就不断的去找一些打好包的上传组件,比如什么思归啊,什么的.

其实组件上传大多也差不多,大文件还是与网络状态有很大的关系,除非能自己写一个类FTP的组件,或者在服务器端用软件方法处理上传

 

在这里,我只好找一下其它的了,那么就是改.net的默认配置,

<system.web>
   <httpRuntime  maxRequestLength="51200" executionTimeout="600" />
  </system.web>

这句很多,最大为50M 超时时间10分钟

 

但我不想整个网站都在这个配置下,据说,看微软文章说是为网站的安全性考虑,所以我想配置其中一个页面

能使用该配置

<location path="shop/my/Video_add.aspx">
  <system.web>
   <httpRuntime  maxRequestLength="51200" executionTimeout="600" />
  </system.web>
</location>

这样就可以了

 

这里有点点要注意:path="shop/  这样是对的,不要写成path="~/shop/

 

 

 

还有,有的文章提到要进行以下配置,我的服务器是widows 2003系统,但我没进行以下操作仍然可以

所以大家看具体情况吧

 

Win2003 web服务器无法上传大文件解决方法责任编辑:黑色联想   更新日期:2006-8-13

问题:

无法上传较大的文件“Request 对象 错误 ASP 0104 : 80004005”或者上传成功后,找不到文件名

解决方案:

先打开Internet 信息服务(IIS)管理器

(本地计算机 )---- 属性 ----允许直接编辑配置数据库(N)

图1

一定要勾先“允许直接编辑配置数据库(N)”

然后在服务里关闭iis admin service服务

图2

找到windows/system32/inesrv下的metabase.xml,

用计事本打开metabase.xml,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K

把它修改为51200000(50M) ,然后重启iis admin service服务即可.