无法使用node.js和请求保存远程映像

11 javascript request node.js

我想用node.js和请求库保存图像.到目前为止,我有这个简单的代码:

var request = require('request');
var fs = require('fs');

request('http://upload.wikimedia.org/wikipedia/commons/8/8c/JPEG_example_JPG_RIP_025.jpg', function(error, response, body)
{
    // further logic that decides
    // whether or not the image will be saved

    fs.writeFile('downloaded.jpg', body, function(){});
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用.图像总是到达腐败状态.我认为这是一个编码错误,但我无法弄清楚如何解决这个问题.

Ale*_* T. 26

var request = require('request'), 
    fs      = require('fs'),
    url     = 'http://upload.wikimedia.org/wikipedia/commons/8/8c/JPEG_example_JPG_RIP_025.jpg';

request(url, {encoding: 'binary'}, function(error, response, body) {
  fs.writeFile('downloaded.jpg', body, 'binary', function (err) {});
});
Run Code Online (Sandbox Code Playgroud)


kax*_*993 5

var fs = require('fs'),
    request = require('request'),
    url='http://upload.wikimedia.org/wikipedia/commons/8/8c/JPEG_example_JPG_RIP_025.jpg';

request(url).pipe(fs.createWriteStream('downloaded.jpg'));
Run Code Online (Sandbox Code Playgroud)