在ASP.NET Web API 2中将大型文件上传为多部分文件时发生CORS错误

时间:2019-02-04 09:48:49

标签: asp.net-web-api file-upload asp.net-web-api2 multipartform-data

当我上传大于500MBs的大文件作为多部分数据时,出现CORS(跨源)错误。但是,当我上传的文件少于500MB并成功保存后,一切正常。另外,我所有其他POST请求都运行良好。

我还使用nuget程序包将CORS启用到WebAPI中:

Install-Package Microsoft.AspNet.WebApi.Cors

WebAPIConfig.cs:

 config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
            var enableCorsAttribute = new EnableCorsAttribute("*",
                                              "Origin, Content-Type, Accept",
                                              "GET, PUT, POST, DELETE, OPTIONS");
            config.EnableCors(enableCorsAttribute);  

在控制器顶部,我正在苦苦挣扎:

[EnableCors(origins: "*", headers: "*", methods: "*")]  

错误:

  

访问“ http://localhost:55425/api/MediaUpload”处的XMLHttpRequest   来自来源“ http://localhost:4200”的信息已被CORS政策阻止:   请求中没有'Access-Control-Allow-Origin'标头   资源。

我也增加了maxRequestLength="30000000"<requestLimits maxAllowedContentLength="1073741825"/>

1 个答案:

答案 0 :(得分:0)

您能否尝试在客户端应用程序web.config的“ system.webServer”部分下添加以下配置-

<httpProtocol>
    <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
    </customHeaders>
</httpProtocol>    

谢谢