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

我发现在msdn的某些地方引用了下面的代码。

[ConfigurationPropertyAttribute("maxRequestLength", DefaultValue = )]

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

走这条路对吗?我怎么使用这个呢?


当前回答

最大文件大小可以限制为单个MVC控制器甚至一个动作。 网络。Config <location>标签可以用于此:

<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中添加这些条目。

其他回答

你可以在你的web应用程序中编写这段代码。配置文件。

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

通过编写这些代码,您可以上传一个比现在更大的文件

最大文件大小可以限制为单个MVC控制器甚至一个动作。 网络。Config <location>标签可以用于此:

<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中添加这些条目。

这个设置在你的网页中。配置文件。不过,它会影响整个应用程序……我认为你不能每页设置。

<configuration>
  <system.web>
    <httpRuntime maxRequestLength="xxx" />
  </system.web>
</configuration>

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

我有一篇关于如何增加asp上传控制文件大小的博客文章。

以下是原文:

默认情况下,FileUpload控件允许最大4MB的文件上传和执行 超时时间为110秒。这些属性可以从web内部更改。配置文件的httpRuntime部分。maxRequestLength属性决定了可以上传的最大文件大小。的 executionTimeout属性决定执行的最大时间。

如果你使用sharepoint,你也应该在管理工具中配置最大大小: kb925083