如何更改 base64 应用程序/pdf 文件名?

nis*_*han 5 javascript pdf base64 html-object

我调用的 API 返回一个类似“JVBERi0xL....(more)”的字符串

我将结果值设置为变量pdfFile,例如

var file = "data:application/pdf;base64,"+res.data.result;
// here res.data.result = 'JVBERi0xL....(more)'
this.pdfFile = file;
Run Code Online (Sandbox Code Playgroud)

我的 Html 代码是

<object :data="pdfFile" name='test' type="application/pdf"  width="100%" height="800px"></object>
Run Code Online (Sandbox Code Playgroud)

像这样,我可以在浏览器上显示pdf,但无法更改pdf文件的名称。

帮助: 我需要更改标有红色的名称。

我需要更改标有红色的名称。

添加了更大的图像: 上一张图像的放大版本

wen*_*jun 2

文件的 Base64 表示形式仅包含文件内容,但不包含文件名。但您可以通过以下方式手动指定文件名:

function download() {
    const source = 'data:application/pdf;base64,'+res.data.result;
    const downloadLink = document.createElement("a");
    const fileName = 'file.pdf';

    downloadLink.href = source;
    downloadLink.download = fileName;
    downloadLink.click();
}
Run Code Online (Sandbox Code Playgroud)