Открыть PDF в новой вкладке, сохранение файла дает неправильное имя файла - PullRequest
0 голосов
/ 11 июня 2019

Существует приложение Angular 6 с функцией загрузки PDF-файлов.Он использует REST API из другого приложения Spring Boot для загрузки файлов.

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

Я могу загрузить файл и открыть его на новой вкладке.Но при сохранении файла он берет имя из URL.

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

  1. Angular - Открыть BLOB-объект в новом окне BLOB-объекта: https://defg.com/89a0396e-994b-43d0-b3e3-aaa95d47db9f Если я пытаюсь загрузить открытый файл, он предлагаетсохранить с именем 89a0396e-994b-43d0-b3e3-aaa95d47db9f.pdf Есть ли способ передать или установить имя файла в следующем подходе?

    var fileURL = window.URL.createObjectURL (file);window.open (fileURL, "_blank");

  2. API - принимает зашифрованное имя https://abcd.com/ws/fileDownload/85C1E5010AFAE309E89534FAC594C9110D74FED4DF78AAA8EE199C78B570FABF8BC6640F0563778DD963 Если я пытаюсь загрузить открытый файл, он предлагает сохранить с правильным именем дляв первый раз, показывает строку из url в качестве имени со второй попытки, 85C1E5010AFAE309E89534FAC594C9110D74FED4DF78AAA8EE199C78B570FABF8BC6640F0563778DD963.pdf

хорошее выражение 1025 * *1024*

хорошее выражение, 1025 * проверенный ответ, 1025filename = "test.pdf"

Любые предложения будут полезны.Заранее спасибо.

1 Ответ

0 голосов
/ 11 июня 2019

Вы можете использовать библиотеку file-saver следующим образом:

import { saveAs } from 'file-saver';
...
awesomeDownloader(url: string, fileName: string) {
  const blobFile = functionsThatGetsTheBlob(url);
  saveAs(blobFile, fileName);
}
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...