我有一个Angular 2(2.1.2
)客户端,ASP.NET Core作为后端,启用了CORS。普通的API(GET,POST,DELETE,...)工作正常,我的问题是当我尝试从响应中检索标头时;特别是Content-Disposition
。这是我尝试使用Ajax获取文件内容时的屏幕截图。
正如您所看到的,GET响应标头中有一个名为Content-Disposition
的标头,但当我尝试从Angular http
服务中检索它时,它会丢失。
快速说明,我只是在开发中使用CORS。
答案 0 :(得分:11)
您需要配置服务器以便添加响应标头
access-control-expose-headers: content-disposition
否则浏览器不会将标题提供给JavaScript。
答案 1 :(得分:4)
更准确地说,在ASP.NET Core中,您可以使用Startup
方法在Configure
类中对其进行如下配置:
app.UseCors(x =>
{
x.WithExposedHeaders("Content-Disposition");
// .. omitted
});