设置文件名并打开Blob单词类型

时间:2019-01-29 07:59:54

标签: angular

我正在尝试下载Word文档,它正在工作,但是我不是如何设置文件名。每次下载时都有一个唯一的名称。

 this.downloadData("downloadVehicleLine").subscribe(
      data => {
       this.downLoadFile(data);   
      })

downLoadFile(data: any) {
    var blob = new Blob([data], { type: 'application/octet-stream' });
    var url = window.URL.createObjectURL(blob);
    var pwa = window.open(url, "createdocument.docx");
    if (!pwa || pwa.closed || typeof pwa.closed == 'undefined') {
        alert('Please disable your Pop-up blocker and try again.');
     }

}

它应该下载名称为 createdocument.docx

的Word文档

1 个答案:

答案 0 :(得分:2)

我认为您可以使用 anchor 元素引用代替window.URL;因为您可以将文件名设置为元素的download属性。

您可以使用以下代码下载文件:

var blob = new Blob([data], { type: 'application/octet-stream' });
var link = document.createElement('a');
link.href = URL.createObjectURL(blob);
// set the name of the file
link.download = "createdocument.docx";
// clicking the anchor element will download the file
link.click();