我们有一个跨域过程来使用javascript的XMLHttpRequest上传文件(这使得进度事件能够向用户显示进度条), 在web.config中设置所需的配置后,此过程正常工作:
<httpProtocol allowKeepAlive="true">
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
</customHeaders>
</httpProtocol>
问题是当尝试上传大文件(超过100 MB)时,请求将花费很长时间(超过1分钟),XMLHttpRequest捕获失败事件,响应如下(如谷歌chrome在控制台中显示它:
XMLHttpRequest cannot load http://oursite.net/Controller/UploadFile. Origin http://secondsite.net is not allowed by Access-Control-Allow-Origin.
但是在测试服务器端之后,文件被上传并保存,因此Action在服务器上完全执行了!!
我们认为此问题是由超时等原因引起的(因为当请求未通过1分钟时不会发生此问题。)
注意:服务器端是Asp.net MVC项目。 有什么想法吗?