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

时间:2019-02-26 04:42:29

标签: javascript pdf base64 html-object

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

我将结果值设置为像

这样的变量 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文件的名称。

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

I need to change the name marked with red.

添加了更大的图像: Larger version of the previous image

2 个答案:

答案 0 :(得分:0)

文件的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();
}

答案 1 :(得分:-1)

       **try this** 


        $file_parts = explode(";base64,", $file_data);
        $file_type_aux = explode("pdf/", $file_parts[0]);
        $file_type = $file_type_aux[1];
        $file_base64 = base64_decode($file_parts[1]);
        $file_name = rand(1111111111,9999999999).'.pdf';
        $uploadDir = '/uploads/pdf/' ;
        $file = $uploadDir.$file_name;
        $f = file_put_contents($file, $file_base64);
        $data['data'] = 1;
        $data['file'] = $file;