Сохраните изображение в файловую систему из необработанных данных Dropbox API с помощью Node's fs.writeFile
Я нахожусь на Node.js, использую конечную точку "загрузки" из HTTP API Dropbox. Данные, которые я получаю, являются необработанными, двоичными данными. Как сохранить изображение в файловой системе, используя fs.writeFile? Я попытался прочитать данные в буфер и передать буфер в fs.writeFile, и я получил файл JPG, но он недействителен и не может быть открыт для просмотра фотографий моего Mac.
Вот мой код, я получаю действительные данные из запроса, который я делаю, я просто не знаю, в какой кодировке или формате он находится.
// make a request to dropbox http api endpoint: "download"
axios(options)
.then(function (response) {
// read the data to a buffer
var buffer = Buffer.from(response.data, "binary");
// create an image from the buffer
fs.writeFile('path/image.jpg', buffer, function (err) {
if (err) console.error(err);
res.sendFile('path/image.jpg');
});
})
.catch(function (err) {
console.error(err);
});
Этот вопрос похож, но начинается со строки base64: запись двоичных данных с использованием node.js fs.writeFile для создания файла изображения
Еще один на base64: NodeJS: сохранение изображения в кодировке base64 на диск