有什么办法可以在新窗口中用名称从Blob打开PDF

时间:2019-06-20 13:14:13

标签: javascript pdf blob

我正在从API接收PDF格式的Blob,我想在新标签中打开它,并为其提供所需的文件名。

正在新标签页中打开文件,但名称和链接如下所示
链接:“ blob:http://localhost:3000/6ff6920c-2737-49cb-9359-e641e4af765d
PDF的名称:“ 6ff6920c-2737-49cb-9359-e641e4af765d” 此名称在每次打开时都不同

我正在使用createObjectURL

打开新标签页
const fileUrl = URL.createObjectURL(blob)
window.open(fileUrl);

因此,我想在新标签页中打开文件时更改文件名,而不是自动生成文件名。

1 个答案:

答案 0 :(得分:1)

目前似乎这是不可能的,至少不可能通过将名称嵌入到数据 URL/URI 中来实现。

我今天遇到了同样的问题,做了一些研究,然后得出了这个结论。数据 URL/URI 的媒体类型部分(即 RFC 2397 定义的 data:[<media_type>],<data> 形式的字符串)实际上允许附加参数;例如,data:application/pdf;name=myPDFfile.pdf;base64,...。这样的参数似乎没有标准化,最常见的浏览器也不支持它。