小编Y. *_*ion的帖子

Angular 4 - 将 Base 64 转换为可下载文件

我有一个 Rest Web 服务,它返回一个 json 对象,其中一个属性包含一个表示简单文件的 64 位字符串,这是 JSON 对象的示例:

{
  "id": 9,
  "name": "Step ",
  "orderOf": 0,
  "description": "desc",
  "script": null,
  "file1": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGptZXRlclRlc3RQbGFuIHZlcnNpb249IjEuMiIgcHJvcGVydGllcz0iNC4wIiBqbWV0ZXI9IjQuMCByMTgyMzQxNCI+CiAgPGhhc2hUcmVlPgogICAgPFRlc3RQbGFuIGd1aWNsYXNzPSJUZXN0UGxhbkd1aSIgdGVzdGNsYXNzPSJUZXN0UGxhbiIgdGVzdG5hbWU9IlRlc3QgUGxhbiIgZW5hYmxlZD0idHJ1ZSI+CiAgICAgIDxzdHJpbmdQcm9wIG5hbWU9IlRlc3RQbGFuLmNvbW1lbnRzIj48L3N0cmluZ1Byb3A+CiAgICAgIDxib29sUHJvcCBuYW1lPSJUZX",
  "file2": "IyBTYW1wbGUgdXNlci5wcm9wZXJ0aWVzIGZpbGUNCiMNCiMjICAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlDQojIyAgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aA0KIyMgICB0aGlzIHdvcmsgZm9y"
}
Run Code Online (Sandbox Code Playgroud)

我希望这两个文件都可下载,其中包括将 Base 64 字符串转换为 Blob,然后调用 FileSaver 库将它们导出为文件,但我得到的只是一个用 Base 64 字符串按字面填充的文件。

这是我的尝试:

downloadFile(file: Blob) {
    if (file !== null && file !== undefined) {
      var blob = new Blob([file], {type: 'text/plain'});
      saveAs(blob, "test.properties");
    }
  }
Run Code Online (Sandbox Code Playgroud)

如何转换这些属性才能下载文件的真实内容。

arrays spring filesaver.js angular

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

angular ×1

arrays ×1

filesaver.js ×1

spring ×1