我想下载一个大约900MB的文件。实现此目标的代码如下所示:
function download(url){
return new Promise((resolve,reject) =>{
try{
request(url, function (error, response, body) {
if (error){
reject(error)
} else{
console.log('sucess')
}
}).pipe(fs.createWriteStream('./test.zip'))
.on('finish',() =>{
resolve(promObj);
})
} catch (error){
reject(error);
}
})
}
最后,我得到以下错误:
buffer.js:556
if (encoding === undefined) return buf.utf8Slice(start, end);
^
Error: "toString()" failed
经过一些研究,我发现节点缓冲区的大小限制是256MB。
有没有可能解决这个问题?