NodeJS WriteFile CreateWriteStream

时间:2016-03-18 16:53:27

标签: node.js stream request

好的。有这两段代码:

// first example
request(imageUrl).then((data) => {
  var wstream = fs.createWriteStream('doodle');
  wstream.write(data);
})
// second example
request(imageUrl).pipe(fs.createWriteStream('doodle2'));

我尝试做的是将图像保存到磁盘。第二个例子很好。但我的问题是:两个例子都做同样的任务,但为什么它们会产生不同的结果呢? 顺便说一句,这就是示例中的请求 - 承诺模块。

1 个答案:

答案 0 :(得分:6)

var request = require("request-promise");
var fs = require("fs");
var imageUrl = "http://www.biografiasyvidas.com/biografia/m/fotos/mandela_nelson_5.jpg";
request({
    "uri":imageUrl,
    "encoding": null
}).then((data) => {
    var wstream = fs.createWriteStream('doodle.jpg');
    wstream.write(data);
});

在这种情况下,编码必须为null。 请参阅README.md,搜索编码 https://github.com/request/request