C# 如何在ASP.NET中增加最大上载文件大小?

C# 如何在ASP.NET中增加最大上载文件大小?,c#,.net,asp.net,file-upload,C#,.net,Asp.net,File Upload,我有一个表格,除了在ASP.NET中上传文件。我需要将最大上载大小增加到4 MB以上的默认值 我发现在某些地方引用了以下代码 没有一篇参考文献真正描述了如何使用它,我也尝试了几件事,但都没有成功。我只想为要求上传文件的某些页面修改此属性 这是正确的路线吗?我该如何使用它呢?如果它是windows 2003/IIS 6.0,请检查位于文件夹C:\windows\system32\inetsrv\ 在我看来,“204800”(~205Kb)的默认值对于大多数用户来说太低了。只需将值更改为您认为的最大

我有一个表格,除了在ASP.NET中上传文件。我需要将最大上载大小增加到4 MB以上的默认值

我发现在某些地方引用了以下代码

没有一篇参考文献真正描述了如何使用它,我也尝试了几件事,但都没有成功。我只想为要求上传文件的某些页面修改此属性


这是正确的路线吗?我该如何使用它呢?

如果它是windows 2003/IIS 6.0,请检查位于文件夹C:\windows\system32\inetsrv\

在我看来,“204800”(~205Kb)的默认值对于大多数用户来说太低了。只需将值更改为您认为的最大值

如果编辑后无法保存文件,则必须停止ISS服务器或启用服务器以允许编辑文件:


(来源:)


编辑:我没有正确阅读问题(如何在webconfig中设置maxrequest)。但此信息可能对其他人有影响,许多人将他们的站点从win2000 server移动到win2003,并具有正常的上载功能,突然收到请求。BinaryRead失败错误将使用它。所以我把答案留在这里。

我相信
Web.config
中的这一行将设置最大上传大小:

<system.web>

        <httpRuntime maxRequestLength="600000"/>
</system.web>

此设置位于web.config文件中。但它会影响整个应用程序。。。我认为你不能每页设置它



“xxx”的单位是KB。默认值为4096(=4 MB)。

如果使用sharepoint,还应使用管理工具配置最大大小:

我在win 2008 IIS服务器中遇到了相同的问题,我已经解决了在web.config中添加此配置的问题:

<system.web>
  <compilation debug="true" targetFramework="4.5" />
  <httpRuntime targetFramework="4.5" maxRequestLength="2147483647" executionTimeout="1600" requestLengthDiskThreshold="2147483647" />
</system.web>

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

默认情况下,requestLengthDiskThreshold是80000字节,因此对于我的应用程序来说太小了。RequestLength DiskThreshold以字节为单位,maxRequestLength以KB为单位


如果应用程序使用的是
System.Web.UI.HtmlControls.HtmlInputFile
服务器组件,则会出现问题。必须增加RequestLength DiskThreshold才能解决此问题。

对于IIS 7+,以及添加httpRuntime maxRequestLength设置,您还需要添加:


或在IIS(7)中:

  • 选择要启用以接受大文件上载的网站
  • 在主窗口中双击“请求筛选”
  • 选择“编辑要素设置”
  • 修改“允许的最大内容长度(字节)”

我有一篇关于如何做的博客文章

从职位:

默认情况下,FileUpload控件允许上载最多4MB的文件并执行 超时时间为110秒。可以在web.config文件的httpRuntime部分中更改这些属性。maxRequestLength属性确定可以上载的最大文件大小。这个 executionTimeout属性确定执行的最长时间


您可以在应用程序web.config文件中编写该代码块

<httpRuntime maxRequestLength="2048576000" />
<sessionState timeout="3600"  />


通过编写该代码,您可以上载比现在更大的文件

如果它在本地计算机中工作,并且在IIS中部署后无法工作(我使用的是Windows Server 2008 R2),我有一个解决方案

打开IIS(inetmgr) 访问您的网站 在右侧转到内容(请求筛选) 转到编辑要素设置 将最大内容大小更改为(所需的字节) 这会奏效的。 您还可以从以下线程获取帮助
我知道这是个老问题

这就是你要做的:

在web.config文件中,将其添加到


下面是



你可以在评论中看到这是如何运作的。其中一个需要sie以字节为单位,另一个以KB为单位。希望有帮助

对于最大2 GB的限制,请在应用程序web.config上:

<system.web>
  <compilation debug="true" targetFramework="4.5" />
  <httpRuntime targetFramework="4.5" maxRequestLength="2147483647" executionTimeout="1600" requestLengthDiskThreshold="2147483647" />
</system.web>

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

要增加上传文件的大小限制,我们有两种方法

1。 IIS6或更低版本

默认情况下,在ASP.Net中,要上载到服务器的文件的最大大小为 大约4MB。此值可以通过修改 web.config中的maxRequestLength属性

请记住:MaxRequestLength的单位是KB

示例:如果要将上载限制为15MB,请将maxRequestLength设置为“15360”(15 x 1024)


2。 IIS7或更高版本

这里使用的上传文件的方式略有不同。IIS7 引入了请求过滤模块,该模块在 ASP.Net意味着管道的工作方式是IIS 先检查值(maxAllowedContentLength),然后检查ASP.NET 值(maxRequestLength)已检查。maxAllowedContentLength 属性默认为28.61 MB。此值可增加 在同一web.config中修改这两个属性

请记住:maxAllowedContentLength以字节为单位

示例:如果要将上载限制为15MB,请将maxRequestLength设置为“15360”,将maxAllowedContentLength设置为“15728640”(15 x 1024 x 1024)



MSDN参考链接

如果您使用的是Framework 4.6

<httpRuntime targetFramework="4.6.1" requestValidationMode="2.0" maxRequestLength="10485760"  />

最大文件大小可以限制为单个MVC控制器,甚至限制为一个操作。
web.config标记可用于以下用途:

<location path="YourAreaName/YourControllerName>/YourActionName>">
  <system.web>
    <!-- 15MB maxRequestLength for asp.net, in KB 15360 -->
    <httpRuntime maxRequestLength="15360" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- 15MB maxAllowedContentLength, for IIS, in bytes 15728640 -->
        <requestLimits maxAllowedContentLength="15728640" />
      </requestFiltering>
    </security>
  </system.webServer>
</location>

或者您可以将这些条目添加到区域自己的web.config中。

I
<httpRuntime targetFramework="4.6.1" requestValidationMode="2.0" maxRequestLength="10485760"  />
<location path="YourAreaName/YourControllerName>/YourActionName>">
  <system.web>
    <!-- 15MB maxRequestLength for asp.net, in KB 15360 -->
    <httpRuntime maxRequestLength="15360" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- 15MB maxAllowedContentLength, for IIS, in bytes 15728640 -->
        <requestLimits maxAllowedContentLength="15728640" />
      </requestFiltering>
    </security>
  </system.webServer>
</location>