好吧,我正在使用以下代码来呈现从Web服务返回的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>
效果很好,但是我想在用户尝试保存文件时设置下载文件名。我不知何故找不到有效的解决方案。任何想法如何做到这一点?
最佳答案
请尝试这个
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);
});
然后将id myPdfViewer插入到iframe中。
希望对您有所帮助。