Javascript在PDF URL中显示文件名而不是blob名称

时间:2017-06-05 09:10:07

标签: javascript

我可以在新窗口中获取pdf,其中URL为

htts://mydomainname/410-8d9c-4883-86c5-d76c50a24a1d

我想在生成的网址中删除自动生成的blob名称(410-8d9c-4883-86c5-d76c50a24a1d),并将我的自定义名称链接放在下面

htts://mydomainname/filename

我需要对以下代码进行哪些修改

var file = new Blob([response], {type: 'application/pdf'});                     
var fileURL = URL.createObjectURL(file);                                                                                                    
$window.open(fileURL);

1 个答案:

答案 0 :(得分:1)

不确定此代码的确切位置,但这是使用XmlHttpRequest“onload”的解决方案。

oReq.onload = function(e) {
if (this.status === 200) {
  const blob = new Blob([oReq.response], { type: "image/pdf"})
  let a = document.createElement("a");
  a.style = "display: none";
  document.body.appendChild(a);
  let url = window.URL.createObjectURL(blob);
  a.href = url;
  a.download = 'myFile.pdf'; // gives it a name via an a tag
  a.click();
  window.URL.revokeObjectURL(url);
} else {
  // handler error eee
}

}

基本上而不是 $ window.open(fileURL); 您需要以编程方式创建一个锚标记,并使用 window.URL.createObjectURL 设置其href,如您所做的那样上方。

希望这有帮助,

马特