Как получить имя файла из содержимого заголовка ответа для загрузки с помощью Anulgar 8?

Я хотел бы получить имя файла из моей конечной точки, которое присутствует в расположении контента, но я не знаю, есть ли простой способ получить это с помощью JS/Angular. Моя конечная точка возвращает большой двоичный объект в виде файла и содержит эту информацию в заголовке content-disposition.

Я использую метод ниже для загрузки файла, так как открытие нового окна обычно блокируется браузером

function saveFile(blob, filename) {
  if (window.navigator.msSaveOrOpenBlob) {
    window.navigator.msSaveOrOpenBlob(blob, filename);
  } else {
    const a = document.createElement('a');
    document.body.appendChild(a);
    const url = window.URL.createObjectURL(blob);
    a.href = url;
    a.download = filename;
    a.click();
    setTimeout(() => {
      window.URL.revokeObjectURL(url);
      document.body.removeChild(a);
    }, 0)
  }
}

person Community    schedule 11.12.2019    source источник
comment
Привет! Можете ли вы поделиться кодом, который получает большой двоичный объект из серверной части? Служба, я полагаю?   -  person Diego Victor de Jesus    schedule 11.12.2019
comment
Я почти уверен, что большой двоичный объект не будет содержать имя файла, если только API не предоставит его по запросу. Можете ли вы опубликовать снимок полезной нагрузки, которую вы получаете? Очевидно, минус содержимое блоба. Используйте Postmanapp или devTools, чтобы получить снимок.   -  person Pablo Palacios    schedule 11.12.2019
comment
У блоба действительно нет имени файла, он присутствует только в заголовках, по крайней мере в хроме он есть в content-disposition   -  person    schedule 11.12.2019
comment
@DiegoVictordeJesus, я просто вызываю http get и использую большой двоичный объект тела ответа, я полагаю, что могу получить оттуда имя файла, но как?   -  person    schedule 11.12.2019
comment
Используете ли вы http-клиент Angular для получения BLOB-объекта из URL-адреса? Если это так, вы можете легко получить заголовки из него. См. ответ csga5000 здесь stackoverflow.com /вопросы/44292270/   -  person Diego Victor de Jesus    schedule 14.12.2019