怎样在ASP.NET中使用VB.NET上传大文件


这里的内容基本上来自MSDN中的一篇文章,标题为《

How to upload a file to a Web server in ASP.NET by using Visual Basic .NET

》,英文没问题的话,Redirect到这篇文章好了。
使用Windows2003的iis 6.0会对文件上传的大小做一限制,这使得服务器更安全。默认的asp上传大小为200k,Asp.NET的大小为4M。网上有很多文章介绍如何突破IIS 6.0上传文章限制的,其实是适用于asp页面的文件上传,而在.NET环境中如何做的,我用google搜索了一下午,也没找到一篇中文的,万般无奈,见英文就脖子硬的我只好搜搜英文页面,总算在微软的MSDN上找到了比较标准的答案。不敢独享,献给象我一样英文欠佳的朋友。

默认情况下,ASP.NET允许上传到Web服务器的文件为小于等于4096k,也就是4M,如果上传的文件大于设定的值,那么你会在浏览器页面看到“找不到服务器或DNS”之类的错误信息,一定会让你迷惑不解的,呵呵。如果希望上传更大的文件,那么就必须修改 Web.config 文件中<httpRuntime>maxRequestLength 参数的值。如果你使用VS.NET新建一个项目,那么VS.NET创建的 Web.config 文件中并没有加上 <httpRuntime>节,你可以自己加上就好了。注意要包在<system.web>节的里面。

如:

<httpRuntime maxRequestLength="409600" />

这样上传的文件就可以是小于等于400M了。文件修改保存后可以立即生效,不必重启IIS。

有时,我们希望整个服务器的应用都可以上传大的文件,那么可以在 Machine.config 文件中修改 <httpRuntime> 节 maxRequestLength 属性的值。要注意的是这个文件的位置可不是在Web服务的根目录下,而是在 \系统目录\Microsoft .NET\Framework\版本号\config目录下,(粗斜体根据具体环境设置)。例如我的环境下就应该是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG。也是设置好立即生效,不需重启IIS。

Web.config中的值可以覆盖Machine.config中的设置。

因为上传时ASP.NET首先将整个文件读进内存,然后再写入磁盘,所以,上传过大的文件会让服务器不堪重负的。

优质内容筛选与推荐>>
1、10条PHP编程习惯助你找工作
2、vue(二)
3、Python基础-subprocess模块
4、Spring的三大核心思想
5、浏览器缓存原理(转载)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号