在我的网页上,我将pdf设置如下:
<object data="myURL" type="application/pdf" width="300" height="200"></object>
使用来自blob的javascipt创建URL:
var myURL = URL.createObjectURL(blob);
pdf会显示但是当我点击右下角的保存按钮(带有chrome)时,我会得到一个预定义的名称(可能是用javascript创建的URL名称)......
如何更改该名称?
答案 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');
});