首页 > 开发 > .Net > 正文

.NET中控制附件上传大小的方法

2023-04-26 12:25:46
字体:
来源:转载
供稿:网友

有时,我们需要在.NET中控制文件的上传大小,具体方法如下:

一、默认允许上传4M的文件。

修改 Machine.config 文件,改动 MaxRequestLength 参数的值。

在c:/winnt/microsoft.net 目录下搜索该文件。

需要注意的是:在保存文件时,您应该确保指定文件的完整路径为(如,"C:/ImageSave/GsanidtLogo.jpg"),并确保为 ASP.NET 使用的帐户提供要存储文件的目录的写权限。上载大文件时,可使用 元素的 maxRequestLength 属性来增加文件大小的最大允许值,例如:

<configuration>
       <system.web>
       <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
       </system.web>
</configuration>

其中:maxRequestLength:指示 ASP.NET 支持的HTTP方式上载的最大字节数。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者出现服务不可得到的情况,也请修改以上的配置,把配置数加大。

二、另一个问题

另外,上载大文件时,还可能会收到以下错误信息:

aspnet_wp.exe (PID: 1520) 被回收,因为内存消耗超过了 460 MB(可用 RAM 的60%)。

如果遇到此错误信息,请增加应用程序的 Web.config 文件的 元素中 memoryLimit 属性的值。例如:

<configuration>
    <system.web>
     <processModel memoryLimit="80"/>
    </system.web>
</configuration>

如果是Windows Server2003:

在Windows Server 2003 下上传大文件注意事项:

在Windows Server 2003上传较大的附件进行发送时系统报错:

1.先在服务里关闭iis admin service服务

2.找到 WINDOWS/system32/inetsrv/下的MetaBase.xml,打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K,把它修改为51200000或者更大[根据文件大小确定].

3.然后重启iis admin service服务。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表