大文件上的 JQuery Ajax 文件上传失败
Posted
技术标签:
【中文标题】大文件上的 JQuery Ajax 文件上传失败【英文标题】:JQuery Ajax File Upload Fail on Large Files 【发布时间】:2012-03-06 02:51:06 【问题描述】:我目前有一个需要使用 ajax 上传大文件的 ASP.Net MVC Web 应用程序。我目前正在使用这个 jQuery 插件 - http://valums.com/ajax-upload/。我也使用过这个插件 - http://jquery.malsup.com 但得到了相同的结果。
我遇到的大文件问题是生成的 iframe 以使请求异步未及时加载。
似乎总是指向这段代码:
var doc = iframe.contentDocument ? iframe.contentDocument : iframe.contentWindow.document, response;
对于较小的文件,脚本运行良好,但对于较大的文件,iframe 似乎永远不会正确初始化。
这让我发疯了。有人可以帮忙吗?
提前致谢
【问题讨论】:
您是否调整了服务器的上传限制? webtrenches.com/post.cfm/iis7-file-upload-size-limits 【参考方案1】:您可能需要使用 web.config 中的 <httpRuntime>
部分来增加服务器上允许的最大请求大小以及请求的执行超时
<system.web>
<httpRuntime
maxRequestLength="size in kbytes"
executionTimeout="seconds"
/>
...
</system.web>
如果您在 IIS 7.0+ 中部署应用程序,您可能还需要使用 <system.webServer>
部分的 <requestLimits>
节点来增加允许的最大请求大小:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="size in bytes" />
</requestFiltering>
</security>
...
</system.webServer>
【讨论】:
以上是关于大文件上的 JQuery Ajax 文件上传失败的主要内容,如果未能解决你的问题,请参考以下文章
使用 FormData 和 jQuery 上传 Ajax 大文件无法发布数据
如果修改 XHR,则 JQuery AJAX 请求失败并出现 CORS 错误