Данные, вероятно, возвращаются с неправильной кодировкой, поскольку ни одна не указана - скорее всего, в виде текста, а не в виде двоичного потока, поскольку responseType
по умолчанию 'json'
. Существует пример записи изображения на диск с помощью запроса ax ios для docs , в котором responseType
имеет значение stream
, а данный поток передается по каналу writeStream. Это, вероятно, тот подход, который вам понадобится.
Ниже приведен пример кода, приведенный в документации:
// GET request for remote image
axios({
method: 'get',
url: 'https://picsum.photos/id/237/200/300',
responseType: 'stream'
})
.then(function (response) {
response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
});
Если вы хотите использовать writeFile
все же, вместо этого вы можете установить responseType: 'arraybuffer'
и передать данный буфер в fs.writeFile
.