file-saver.js+fetch
时间: 2024-09-25 13:06:36 浏览: 43
`file-saver.js` 和 `fetch` 结合在一起提供了一种方便的方式,在浏览器中异步下载文件。`fetch` 是一种现代浏览器内置的API,用于发起网络请求,而 `file-saver.js` 则是一个库,帮助我们将网络响应的内容保存为本地文件。
当你使用 `fetch` 获取到文件内容后,可以将其转换为 `FileSaver` 对象,然后调用 `saveAs` 方法来保存文件。这个过程通常包含以下几个步骤:
1. 导入必要的库:
```javascript
const fetch = window.fetch;
const saveAs = window.saveAs || window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder; // For older browsers
```
2. 使用 `fetch` 发起请求并获取响应:
```javascript
fetch('https://example.com/download-file')
.then(response => {
if (!response.ok) { throw new Error('Network response was not ok.'); }
return response.blob();
});
```
3. 将响应体转换为Blob并保存:
```javascript
.then(blob => saveAs(blob, 'downloaded-file.txt'));
```
阅读全文