ASP.NET上传图片总是报错,超过4m的图片

但在上传超过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>

这样就可以了

 

=============================================================================

 

对于asp.net,默认只允许上传4M文件,增加如下配置,一般可以自定义最大文件大小.

<httpRuntime

executionTimeout="90"

maxRequestLength="4096"

useFullyQualifiedRedirectUrl="false"/>

 

可以在web.config中配置 ASP.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。

<configuration>

   <system.web>

      <httpRuntime>

          <httpRuntime useFullyQualifiedRedirectUrl="true|false"

            maxRequestLength="size in kbytes"

             executionTimeout="seconds"

             minFreeThreads="number of threads"

             minFreeLocalRequestFreeThreads="number of threads"

             appRequestQueueLimit="number of requests"

             versionHeader="version string"/>


可选属性说明:


appRequestQueueLimit     ASP.NET 将为应用程序排队的请求的最大数目。当没有足够的自由线程来处理请求时,将对请求进行排队。当队列超出了该设置中指定的限制时,将通过“503 - 服务器太忙”错误信息拒绝传入的请求。


executionTimeout     指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。


maxRequestLength     指示 ASP.NET 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。


minFreeLocalRequestFreeThreads     ASP.NET 保持的允许执行新本地请求的自由线程的最小数目。该线程数目是为从本地主机传入的请求而保留的,以防某些请求在其处理期间发出对本地主机的子请求。这避免了可能的因递归重新进入 Web 服务器而导致的死锁。


minFreeThreads     允许执行新请求的自由线程的最小数目。ASP.NET 为要求附加线程来完成其处理的请求使这些线程保持自由状态。


useFullyQualifiedRedirectUrl     指示客户端重定向是否是完全限定的(采用 {HYPERLINK "http://server/path" } 格式,这是某些移动控件所必需的),或者指示是否代之以将相对重定向发送到客户端。

    true 指定客户端重定向需要以完全限定的格式发送。这是通过自动将不是完全限定的格式的所有重定向转换为完全限定的格式来实现的。

    false 指定客户端重定向不需要被自动转换为完全限定格式。false 是默认选项。


versionHeader     指定 ASP.NET 随每个响应所发送的版本头的值。Microsoft Visual Studio .NET 使用该属性来确定当前使用的 ASP.NET 版本。这对产品环境来说不是必需的,并且可以通过从 Web.config 或 Machine.config 移除该属性,或将该属性设置为空字符串 (versionHeader="") 来将其禁用。

 

示例

以下示例为 ASP.NET 应用程序指定 HTTP 运行时参数。

<configuration>

   <system.web>

      <httpRuntime maxRequestLength="4000"

         useFullyQualifiedRedirectUrl="true"

         executionTimeout="45"

         versionHeader="1.1.4128"/>

   </system.web>

</configuration>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值