我正在从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);
因此,我想在新标签页中打开文件时更改文件名,而不是自动生成文件名。
答案 0 :(得分:1)
目前似乎这是不可能的,至少不可能通过将名称嵌入到数据 URL/URI 中来实现。
我今天遇到了同样的问题,做了一些研究,然后得出了这个结论。数据 URL/URI 的媒体类型部分(即 RFC 2397 定义的 data:[<media_type>],<data>
形式的字符串)实际上允许附加参数;例如,data:application/pdf;name=myPDFfile.pdf;base64,...
。这样的参数似乎没有标准化,最常见的浏览器也不支持它。