我正在使用以下代码呈现从webservice作为base64字符串返回的PDF。
<html>
<object data="data:application/pdf;base64,{!pdfStampingResponse.pdfBase64}" type="application/pdf" width="100%" class="internal">
<param name="view" value="fitH" />
</object>
</html>
这很好但我想在用户尝试保存文件时设置下载文件名。不知何故,我无法找到一个有效的解决方案。知道怎么做吗?
答案 0 :(得分:1)
请尝试这个
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。 希望对您有所帮助。
答案 1 :(得分:0)
在锚标记中使用download="yourfilename"
。
download属性指定当用户单击超链接时将下载目标。
PS:仅当设置了href属性时才使用此属性。
答案 2 :(得分:0)
有什么方法可以控制这个名字吗?
没有。您无法控制存储在用户本地文件系统中的文件的名称。
答案 3 :(得分:-1)
您可以使用以下代码语法
<object data="data/test.pdf" type="application/pdf" width="300" height="200">
alt : <a href="data/test.pdf">test.pdf</a>
</object>
找到此here。
希望它有所帮助。