以angular 5下载损坏的docx文件

问题描述 投票:0回答:1

我正在尝试下载来自DB和后端的docx文件。

blob从我的REST api作为base64字符串出现。

我试图使用其他帖子/教程中的函数将它们转换回blob。我能够下载该文件,但当我尝试在Word中打开它时,它说它已损坏。

enter image description here

这是我的组件代码:

     export class ListComponent implements OnInit {

         files: {};

         constructor( private fileService : CustomService) { }
         ngOnInit() {

       this.fileService.getAllFiles().subscribe(
            data => {
              this.files = data;
            },
            error => console.log(error)
          )
      }


   saveData = (function () {
        var a = document.createElement("a");
        document.body.appendChild(a);
       // a.style = "display: none";
        return function (data, fileName) {
            var json = JSON.stringify(data),
                blob = new Blob([json], {type: "octet/stream"}),
                url = window.URL.createObjectURL(blob);
            a.href = url;
            a.download = fileName;
            a.click();
            window.URL.revokeObjectURL(url);
        };
    }());

在我使用的HTML中:

    <li *ngFor="let file of files">
        <a target="_self" download="{{file.file_name}}"      (click)="saveData(file.upload_file,file.file_name )">{{file.file_name}}</a>
    </li>

JSON:

[
{
    "file_id": 1,
    "file_name": "CUPRINS - Copy.docx",
    "upload_file": "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",
    "submission_date": null
},
{
    "file_id": 2,
    "file_name": "Ghid disertatie.docx",
    "upload_file": "UEsDBBQACAgIAGl4dUwAAAAAAAAAAAAAAAASAAAAd29yZC9udW1iZXJpbmcueG1s7VlJbtswFD1B72AI6DLW6KFG5CwapGgRFEWbHoCmaIkIB4Gk7OQMXXTX"
}]
angular
1个回答
2
投票

您需要解码base64数据。

创建一个获取解码后的字符串形式的函数,并将其转换为blob,如下所示:

base64toBlob(byteString) {
    var ia = new Uint8Array(byteString.length);
    for (var i = 0; i < byteString.length; i++) {
      ia[i] = byteString.charCodeAt(i);
    }
    return new Blob([ia], { type: "octet/stream" });
  }

然后,而不是JSON.stringify(data),做atob(data),并将其传递给base64toBlob创建我们的Blob:

  var json = atob(data),
    blob = this.base64toBlob(json),

您拥有的其余代码应该可以工作。

Here is a StackBlitz demo

© www.soinside.com 2019 - 2024. All rights reserved.