$ window.open с контекстом / заголовками - PullRequest
0 голосов
/ 11 апреля 2019

Мне нужно открыть окно, чтобы загрузить файл из конечной точки API.

В настоящее время я делаю это:

let url = this.apiBaseUrl + "/exportToExcel/" + id;
this.$window.open(url, "_blank");

Проблема в следующем: запрос теряет контекст (безопасность в заголовке), так что мой контроллер API блокирует запрос. Как я могу обойти эту проблему?

1 Ответ

1 голос
/ 11 апреля 2019

Сначала скачайте файл, затем откройте его:

var url = this.apiBaseUrl + "/exportToExcel/" + id;
var headers = {
   //Put headers here
};
var config = { 
   responseType: 'blob',
   headers: headers
};
$http.get(url, config).then(function (response) {
    var blob = response.data;
    var u = URL.createObjectURL(blob);
    window.open(u,"_blank");
});

Получит файл как blob , преобразует его в URL объекта , а затем откроет его в новом окне.

...