使用自定义名称保存embbeded pdf

时间:2015-06-07 17:29:21

标签: javascript html html5

在我的网页上,我将pdf设置如下:

<object data="myURL" type="application/pdf" width="300" height="200"></object>

使用来自blob的javascipt创建URL:

var myURL = URL.createObjectURL(blob);

pdf会显示但是当我点击右下角的保存按钮(带有chrome)时,我会得到一个预定义的名称(可能是用javascript创建的URL名称)......

如何更改该名称?

2 个答案:

答案 0 :(得分:0)

据我所知,在这种情况下自定义文件名的能力取决于浏览器。我能够实现它的方法是使用此处的代码:https://github.com/eligrey/

blob(https://github.com/eligrey/Blob.js)库在本机支持它的浏览器中实现blob(有用)和

我在我的一个webapps中使用了filesaver(https://github.com/eligrey/FileSaver.js)库,这使得保存带有文件名的blob非常简单..它就像这样简单:

var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
saveAs(blob, "hello world.txt");

如果你想自己实现它,代码就可以了。较旧的浏览器可能无法使用文件名,但Chrome应该是完全可以接受的。此解决方案更多是javascript,并且在功能上创建blob而不是像您在问题中使用HTML标记。

答案 1 :(得分:0)

您可以在嵌入式pdf链接中添加download='filename'属性...

<object data="myURL" type="application/pdf" download="FileName" width="300" height="200"></object>

在jQuery中,您可以使用所需的文件名更改dom上的属性。 例如

$(document).ready(function(){
   $('object[data=myURL]').attr('download', 'newFilename.pdf');
});

source of the answer