【发布时间】:2016-07-26 19:24:25
【问题描述】:
我有一个奇怪的问题。我在NodeJs中使用文件下载请求,每次我下载较大的文件(> 250mb)时,它们都会被下载到内存中并且不会直接流式传输到文件系统。也许我做错了什么,但我做了一个测试用例,文件仍然没有被流式传输。
var request = require('request');
var fs = require('fs');
var writable = fs.createWriteStream("1GB.zip");
var stream = request.get({
uri: "http://ipv4.download.thinkbroadband.com/1GB.zip",
encoding: null
}, function(error, response, body) {
console.log("code:", response.statusCode);
if (response.statusCode >= 500) {
log.err(response.statusCode, " Servererror", file.url);
}
}).pipe(writable);
在这个测试用例中,我正在下载一个 1GB 的示例文件,如果您使用任务管理器观察节点进程,它会在下载文件时增长到 >1GB。 我希望我的 Node 应用程序使用不超过 200mb 的内存
【问题讨论】:
标签: javascript node.js request