是否可以生成zip文件并在Angular 4中下载?

Kir*_*shi 2 angular

我是Angular 4的初学者。我引用了许多链接来生成 Zip文件,但是我无法获得适当的解决方案。
是否可以在Angular 4中生成Zip文件?
如果可能的话,那怎么办?

ser*_*_87 9

安装库

$ npm install --save npm install jszip
Run Code Online (Sandbox Code Playgroud)

在文件 tsconfig.json 中

{"compilerOptions": {"paths": {
  "jszip": ["../node_modules/jszip/dist/jszip.min.js"]
}}}
Run Code Online (Sandbox Code Playgroud)

在文件 demo.component.ts 中

import { saveAs, encodeBase64 } from '@progress/kendo-file-saver';
import * as JSZip from 'jszip';
Run Code Online (Sandbox Code Playgroud)

demo.component.ts 上的函数

downloadFileExample() {
  const jszip = new JSZip();
  jszip.file('Hello.txt', 'Hello World\n');

  jszip.generateAsync({ type: 'blob' }).then(function(content) {
    // see FileSaver.js
    saveAs(content, 'example.zip');
  });
}
Run Code Online (Sandbox Code Playgroud)

此示例使用 Angular 6。


Adr*_*cki 6

您可以在Angular中使用任何JS库。因此,例如,您可以使用JSzip,然后只需:

import * as JSZip from 'jszip';
Run Code Online (Sandbox Code Playgroud)

现在,您将可以访问此库方法。您可以阅读有关在angular中使用纯JS库的更多信息。有很多关于它的信息,甚至清楚地说明了如何进行和正确使用。我认为,如果您进一步深入研究该主题,而不是逐步获得明确的用法说明,将会更好。您将学到更多,如果将来遇到此类问题,您将轻松解决。希望这个建议对您有帮助。