快捷搜索:

中安装文件上传大小限制设置方法,IIS7文件上传

作者: w88官方网站手机版  发布:2019-07-28

在IIS 6.0中设置文件上传大小的方法,就是配置如下节点:

我们知道在iis7中设置上传文件大小我们只需要修改两个参数:maxRequestLength和maxAllowedContentLength即可了,下面来参考。

系统环境:win8

复制代码 代码如下:

当上传一个超过30M的文件时,服务器会重定向至404.13页面,报错如下:

开发环境:asp.net mvc

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

HTTP Error 404.13 - Not Found
The request filtering module is configured to deny a request that exceeds the request content length.
这是由于服务器限制了所能上传文件的最大值。其值在

功能:文件上传

但在IIS7中,设置如上设置后,不管设置多大数值,最大上传了限制为30M

configuration/system.webServer/security/requestFiltering/[email protected] setting

在上传文件时,比较小的文件会直接上传成功,大的文件页面报错:“文件超过了最大请求长度”。

还要进行如下设置才能正确:

in the applicationhost.config or web.config file. 中定义。

 

方法1:

查看C:WindowsSystem32inetsrvconfig目录下的applicationhost.config,可以在

经过查明:

appcmd set config "My Site/MyApp" -section:requestFiltering -requestLimits.maxAllowedContentLength:104857600 -commitpath:apphost

system.webServer/security/requestFiltering/中找到requestLimits设置项,若没有,则可以自行添加如下:(这

需要在配置文件里面设置文件上传限定的两个属性值:maxAllowedContentLength,maxRequestLength 允许上传文件的长度,和请求的长度,两个大小需要设置一致,如果不一致,则以请求长度为准。

在IIS服务器的命令行执行如上命令,注意修改上面的网站名称和上传文件大小

里maxAllowedContentLength的单位为bytes。)

The maximum request size in kilobytes. The default size is 4096 KB (4 MB). 默认请求长度只有4M.   设置的单位都为byte

方法2:

 代码如下

<system.web>
  <httpRuntime maxRequestLength="2147483647" executionTimeout="36000" delayNotificationTimeout="36000"/>
</system.web>

在web.config中加入如下配置:

复制代码

<system.webServer>
  <security>
    <requestFiltering>
      <!--<requestLimits maxAllowedContentLength="1073741824"/>-->
      <requestLimits maxAllowedContentLength="2147483648"/>
    </requestFiltering>
  </security>
</system.webServer>

复制代码 代码如下:

<system.webServer>
   <security>
       <requestFiltering>
              <requestLimits maxAllowedContentLength="40000000" />
       </requestFiltering>
   <security>
<system.webServer>

以上是对某个站点或者某个应用上限制大小,配置的web.config

<system.webServer>
     <security>
       <requestFiltering>
        <requestLimits maxAllowedContentLength="1048576000"></requestLimits>
       </requestFiltering>
      </security>
</system.webServer>

也可以使用命令行模式修改applicationhost.config为:

要以上配置有效的前提是,要确保applicationhost.config中对该项修改的权限已经放开。

以下方法是不正确或不好的方法

 代码如下

applicationhost.config文件路径在 C:WindowsSystem32inetsrvconfig 下

网上还有很多方法要去修改:“C:WindowsSystem32inetsrvconfigschemaIIS_schema.xml”文件,但这样确实能做到,但如果在系统安装补丁时,有可能对这个文件进行覆盖,让设置失败;

复制代码

可通过如下设置进行更改:

另外,也有说修改:

%windir%system32inetsrvappcmd set config -section:requestFiltering -

modify the overrideModeDefault from "Deny" to "Allow" like so: 

图片 1

requestLimits.maxAllowedContentLength:40000000

<sectionGroup name="system.webServer">

您可能感兴趣的文章:

  • asp.net FileUpload控件实现文件格式判断与文件大小限制
  • 如何限制asp.net中上传文件的大小的代码
  • Web.Config文件配置之限制上传文件大小和时间的属性配置
  • PHP 上传文件大小限制
  • php.ini修改php上传文件大小限制的方法详解
  • 客户端js判断文件类型和文件大小即限制上传大小
  • JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
  • JS限制上传图片大小不使用控件在本地实现
  • 限制 Apache日志文件大小的方法
  • .net mvc超过了最大请求长度的解决方法

经过这个设置后,服务器对上传文件的大小限制将变为40000000bytes了。当然,这个设置是服务器级别的,如果你想

  <sectionGroup name="security">
       <section name="requestFiltering" overrideModeDefault="Allow" />

在某个站点或者某个应用上限制大小,也可以通过以相同方式进行设置,只不过这次设置的是站点内的Web.config。

  </sectionGroup>
</sectionGroup>

但是你要进行此项修改,要确保applicationhost.config中对该项修改的权限已经放开。可通过如下设置进行更改:

确认修改过applicationhost.config中上述设置以后,再进行web.config中的设置。

 代码如下

 

复制代码

二: 也可以直接设置服务器级别的文件上传大小,在applicationhost.config文件中加上以下字段

modify the overrideModeDefault from "Deny" to "Allow" like so:

<system.webServer>
   <security>
       <requestFiltering>
              <requestLimits maxAllowedContentLength="2147483647" />
       </requestFiltering>
   <security>
<system.webServer>

<sectionGroup name="system.webServer">
     <section name="requestFiltering" overrideModeDefault="Allow" />
</sectionGroup>

也可以使用命令模式修改:

确认修改过applicationhost.config中上述设置以后,再进行如下设置。

也可以使用命令行模式修改applicationhost.config:

找到应用的Web.config,按上述进行修改:

%windir%system32inetsrvappcmd set config -section:requestFiltering -requestLimits.maxAllowedContentLength:2147483647

 代码如下

命令模式尚未试过。

复制代码

转自:

<system.webServer>
   <security>
       <requestFiltering>
              <requestLimits maxAllowedContentLength="40000000" />
       </requestFiltering>
   <security>
<system.webServer>

或者你也可以通过命令行的形式:

 代码如下

复制代码

%windir%system32inetsrvappcmd set config "Default Web Site/<your app>" -section:requestFiltering -

requestLimits.maxAllowedContentLength:40000000

这样,你就能针对某个站点的某个应用进行设置。

 

但是开发人员是在Web.Config中进行了如下设置:

 代码如下

复制代码

<system.web>

<httpRuntime maxRequestLength="40960" appRequestQueueLimit="100" useFullyQualifiedRedirectUrl="true"

executionTimeout="120" />

</system.web>

这里的maxRequestLength据MSDN介绍:Gets or sets the maximum request size. The maximum request size in

kilobytes. The default size is 4096 KB (4 MB).

The MaxRequestLength property specifies the limit for the buffering threshold of the input stream. For

example, this limit can be used to prevent denial of service attacks(拒绝服务攻击) that are caused by

users who post large files to the server.

The value assigned to this property should be greater or equal to value assigned to the

RequestLengthDiskThreshold property.

但是开发人员的这个设置好像是不起作用的。他们在这里,限制最大请求长度为40MB,超时为120s。

下次再看一下具体这个设置是用来做什么的。


现在明白了。这个是用来设置单个请求的最大长度。比如EmailTicket中若设置maxRequestLength为30M,

maxAllowedContentLength为40M,

然后在Reply Email时,选择了一个35M的附件,在点击Save as Draft的时候,这个请求的长度大概会有35M,这个已

经超过了maxRequestLength。此时请求就会报错了,结果是黄页:

Server Error in '/emailticket' Application.


Maximum request length exceeded.
Description: An unhandled exception occurred during the execution of the current web request. Please

review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: Maximum request length exceeded.

另一种解决办法

在Win2008里,打开IIS7,找到需要修改限制的网站,双击右侧“管理”下面的“配置编辑器”,在上面的“节”处,

找到“system.webServer-->webdav-->asp”,这时,“节”处显示“system.webServer/asp”。

在下面,找到“Limits”,点击左边的加号,改变“bufferingLimit”和“maxRequestAntityAllowed”的值为

“2000000000”(2G,最大值就是2G),改好后回车,点击右边栏顶部“操作”下面的“应用”。恭喜你,成功了!

注意事项:asp.net(IIS 7 and IIS 7.5)上传文件的最大值不能超过2GB

如果你是asp不是asp.net我们可以参考下面方法来设置

、停止IIS7

2、找到“C:WindowsSystem32inetsrvconfigschemaIIS_schema.xml”文件。

这个文件是只读的,即使用管理员权限也不能修改。要先修改文件的权限,然后去掉只读属性才可以。

1.右键文件->属性->安全,选中目标用户,点击高级,修改文件所有者;

2.确定后点击编辑,就可以修改当前用户的权限了,添加“写入”权限。至此,权限设置OK了。

3.将文件的只读属性去掉。

用记事本打开该文件,找到“”,将“30000000”修改为你想要的值(如2000000000)保存。

将“C:WindowsSystem32inetsrvconfigschemaIIS_schema.xml”文件加上只读属性。

当上传一个超过30M的文...

本文由www.w88985.com发布于w88官方网站手机版,转载请注明出处:中安装文件上传大小限制设置方法,IIS7文件上传

关键词: www.w88985.c