是一种常见的文件下载方式。Fetch API是一种现代的网络请求API,可以在浏览器中发送HTTP请求。fs.createWriteStream是Node.js中的一个文件写入流模块,用于将数据写入文件。
具体步骤如下:
示例代码:
fetch('http://example.com/file.pdf')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.body;
})
.then(body => {
const fileStream = fs.createWriteStream('path/to/save/file.pdf');
body.pipe(fileStream);
})
.catch(error => {
console.error('Error:', error);
});
示例代码:
const fs = require('fs');
const fetch = require('node-fetch');
fetch('http://example.com/file.pdf')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.body;
})
.then(body => {
const fileStream = fs.createWriteStream('path/to/save/file.pdf');
body.pipe(fileStream);
})
.catch(error => {
console.error('Error:', error);
});
这种流响应的方式适用于大文件下载,可以避免将整个文件加载到内存中,而是通过流的方式逐块写入文件,减少内存占用。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
腾讯云对象存储(COS)是一种高可用、高可靠、强安全性的云端存储服务,适用于存储和处理大规模非结构化数据,如图片、音视频、文档等。COS提供了简单易用的API接口,可以方便地进行文件的上传、下载和管理。
产品介绍链接地址:腾讯云对象存储(COS)
领取专属 10元无门槛券
手把手带您无忧上云