Ayman
Ayman

Reputation: 1463

Can't get all response headers from angular 2 with cors

I have an Angular 2 (2.1.2) client, ASP.NET Core as a backend with CORS enabled. Normal APIs (GET, POST, DELETE, ...) is working fine, my problem is when I try to retrieve headers from the response; particularly Content-Disposition. Here is a screen shot when I try to get a file content using Ajax.

OPTIONS request

GET request

As you can see there is a header called Content-Disposition in the GET response headers, but it is missing when I try to retrieve it from the Angular http service.

A quick note, I am only using CORS in development.

Upvotes: 7

Views: 3606

Answers (2)

mode777
mode777

Reputation: 3197

To be even more precise, in ASP.NET Core, you can configure it like this in your Startup class, in the Configure method:

app.UseCors(x =>
{
     x.WithExposedHeaders("Content-Disposition");
     // .. omitted
});

Upvotes: 8

Günter Zöchbauer
Günter Zöchbauer

Reputation: 657476

You need to configure the server so that it adds the response header

access-control-expose-headers: content-disposition

otherwise the browser won't make the header available to JavaScript.

Upvotes: 14

Related Questions