jquery 文件上传插件大文件问题

jquery file upload plugin large file issues

我正在使用 Asp.Net MVC 5 和标准 jquery plugin。我能够将最大 24MB 的文件上传到 MVC 动作控制器。根本不会上传大于 30MB 的文件。 MVC FileUpload 操作方法上的断点永远不会命中。是否需要设置一些配置?我四处搜索了一些文档,但找不到任何文档。

这是我的设置 web.config

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

我添加了这个,现在我可以上传 110MB 的组合文件。

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

1GB 以上的文件还是不行。在开发人员工具中,当我查看文件 post 时,网络部分出现 500 - 内存不足错误。我如何调整 IIS Express 中的内存或者这是本地桌面问题?

不是您的客户端代码阻止了您的断点被击中,而是服务器拒绝了 POST 包含超过服务器上指定的最大字节数的文件数据的请求。

您可以通过将以下内容添加到应用程序的 web.config 来指定允许的最大文件大小(以字节为单位):

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

这似乎不是编码问题,而是您可以在一次调用中传输多少 JSON 数据。 如果您只想将其更新为 web.config

中的最大长度,请查看 this 答案
<configuration> 
   <system.web.extensions>
       <scripting>
           <webServices>
               <jsonSerialization maxJsonLength="2147483647"/>
           </webServices>
       </scripting>
   </system.web.extensions>
</configuration> 

您也可以在代码中执行 this。看看这个答案。

protected override JsonResult Json(object data, string contentType, System.Text.Encoding contentEncoding, JsonRequestBehavior behavior) 
{ 
  return new JsonResult() { 
    Data = data, 
    ContentType = contentType, 
    ContentEncoding = contentEncoding, 
    JsonRequestBehavior = behavior, 
    MaxJsonLength = Int32.MaxValue 
  }; 
}