Сохраните изображение в файловую систему из необработанных данных 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 на диск

0 ответов

Другие вопросы по тегам