13

我在一个包含 Web API 控制器的 VS2012 MVC4 项目上工作。此项目将在 IIS 服务器上发布。

我需要允许用户上传文件。问题是 Web API 被限制为最多 4MB 的最大文件大小上传。我读到(例如这里:http: //blogs.msdn.com/b/henrikn/archive/2012/03/01/file-upload-and-asp-net-web-api.aspx)我们可以扩展它自托管 Web API 的限制(在这种情况下,文件上传最多 2GB)。我不想自己托管我的 webAPI,因为我想在我的 IIS Web 服务器上托管它,所以我认为这不适合我的情况,对吧?那么上传大于 4MB 的文件该怎么办呢?

如果可能的话,我会搜索 HTML5 解决方案(使用拖放)。

到目前为止,我发现的任何解决方案都不能让我做到这一点。

谢谢你的帮助。

4

3 回答 3

30

可能不清楚,但实际上博客 URL 指的是 IIS。您需要在 Web.config 中查找以下 2 个设置以增加上传大小:

注意maxRequestLength以千字节为单位:

<system.web>
  <httpRuntime targetFramework="4.5" maxQueryStringLength="" maxRequestLength="" maxUrlLength="" />

注意maxAllowedContentLength以字节为单位:

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="" maxQueryString="" maxUrl=""/>
于 2013-06-26T15:53:13.823 回答
1

如果您仔细阅读它,它会说“ASP.NET 的最大文件大小限制为 2G,您可以上传。” 所以基本上当托管在 ASP.NET/IIS 中时,您将能够接收高达 2Gbs 的文件。您需要做的是更改 web.config 中的一些默认值。

看看这个:https ://stackoverflow.com/a/7154363/2517785

于 2013-06-26T15:50:48.077 回答
-3

你可以检查这个

 int MaxContentLength = 1024 * 1024 * 10; //Size = 10 MB
if (postedFile.ContentLength > MaxContentLength)
{


}
于 2016-02-17T06:09:11.943 回答