4

我正在调用的 API 返回一个字符串,例如'JVBERi0xL....(more)'

我将结果值设置为一个变量pdfFile

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

我的 HTML 代码是

<object :data="pdfFile" name='test' type="application/pdf"  width="100%" height="800px"></object>

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

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

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

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

4

1 回答 1

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();
}
于 2019-02-26T04:48:02.193 回答