@zzox4

Почему nodejs ломает данные при скачивании и сохранении файла?

Цель получить Buffer с данными, но при скачивании он содержит кривые данные, если сохранить в файл, то файл содержит хлам вместо картинки.
В чем проблема? node v4.3.1 Код целиком:
var request = require('request');
var fs = require('fs');

var url = 'http://codewinds.com/assets/codewinds/codewinds-podcast-200.png';
console.log('START', url);

request.get(url, function (error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log('LENGTH', body.length);

        fs.writeFile("11111.png", body, function(err) {
            if(err) {
                return console.log(err);
            }
        });
    };
});
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
@zzox4 Автор вопроса
Вообщем нужно сбрасывать кодировку: defaults({encoding: null})
иначе он картинку в utf8 кодирует %-\
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alsopub
@alsopub
Может
fs.writeFile("11111.png", body, 'binary', function(err) {
            if(err) {
                return console.log(err);
            }
        });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы