【问题标题】:Upload file through WebApi fails for larger file大文件通过 Web Api 上传文件失败
【发布时间】:2016-07-29 23:07:25
【问题描述】:

我正在尝试使用 WebApi 上传文件。 byte[] 为 1.6MB。由于某种原因,我的模型被序列化为 null。我怀疑这是文件大小,因为它适用于较小的文件。有什么想法吗?

这就是我正在使用的 - 其中 data 是一个包含 byte[] 的模型。

return HttpClient.PostAsJsonAsync<T>(requestUri, data)
                    .ContinueWith(x => Handle<R>(x.Result), TaskContinuationOptions.AttachedToParent);

【问题讨论】:

    标签: c# asp.net-mvc-4 file-upload asp.net-web-api2


    【解决方案1】:

    可能你必须改变.config

    <system.web> 
        <httpRuntime maxRequestLength="2097152"/>
    </system.web>
    
    <system.webServer> 
      <security> 
          <requestFiltering> 
             <requestLimits maxAllowedContentLength="2147483648" /> 
          </requestFiltering> 
      </security>
    <system.webServer> 
    

    【讨论】:

    • 谢谢@isxaker。那行得通。奇怪的是它不允许 1.6MB,改变这个值有什么坏处吗?
    • @newbie_86 没关系。这是一种限制。根据您的个人意图进行配置。
    • @Mike 可能存在其他一些限制。尝试更改 IIS 设置
    • 经过广泛研究后我了解到,如果 HTTP 帖子超过了 IIS 的硬限制,则无法克服。我不记得极限是什么了。我的解决方案是重新构建解决方案以允许多个帖子,而不是尝试在单个帖子中处理所有数据。我什至不需要更改这些配置来做一个小的 http 帖子,比如 1.6 MB。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 2020-03-12
    • 2012-05-31
    • 1970-01-01
    • 2015-10-12
    • 2011-05-04
    • 1970-01-01
    相关资源
    最近更新 更多