Ответ 1
Используйте download="yourfilename"
в теге привязки.
Атрибут загрузки указывает, что цель будет загружена, когда пользователь нажимает гиперссылку.
PS: этот атрибут используется, только если установлен атрибут href.
Ну, я использую следующий код для рендеринга PDF, который возвращается из веб-сервиса в виде строки base64.
<html>
<object data="data:application/pdf;base64,{!pdfStampingResponse.pdfBase64}" type="application/pdf" width="100%" class="internal">
<param name="view" value="fitH" />
</object>
</html>
Используйте download="yourfilename"
в теге привязки.
Атрибут загрузки указывает, что цель будет загружена, когда пользователь нажимает гиперссылку.
PS: этот атрибут используется, только если установлен атрибут href.
Есть ли способ обойти это, чтобы я мог контролировать имя?
Нет. Вы не можете контролировать имя файла, хранящегося в локальной файловой системе пользователя.
Смотрите здесь: fooobar.com/questions/13744433/...
пожалуйста, попробуйте это
const FILE_NAME = 'myfile.pdf';
const file_header = ';headers=filename';
fetch('https:your-url/myfile.pdf?dl=0').then(r => r.blob())
.then(blob=>{
const f = new FileReader();
f.onload = () => myPdfViewer.src = f.result.replace(';', file_header + encodeURIComponent(FILE_NAME) + ';');
f.readAsDataURL(blob);
});
Затем вставьте идентификатор myPdfViewer в iframe. Я надеюсь, что это может помочь.
Вы можете использовать следующий синтаксис кода
<object data="data/test.pdf" type="application/pdf" width="300" height="200">
alt : <a href="data/test.pdf">test.pdf</a>
</object>
Нашел здесь здесь.
Надеюсь, что это поможет.