好的。有这两段代码:
// first example
request(imageUrl).then((data) => {
var wstream = fs.createWriteStream('doodle');
wstream.write(data);
})
// second example
request(imageUrl).pipe(fs.createWriteStream('doodle2'));
我尝试做的是将图像保存到磁盘。第二个例子很好。但我的问题是:两个例子都做同样的任务,但为什么它们会产生不同的结果呢? 顺便说一句,这就是示例中的请求 - 承诺模块。
答案 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