Сохраните изображение в файловую систему из необработанных данных Dropbox API с помощью Node's fs.writeFile - PullRequest
0 голосов
/ 19 ноября 2018

Я на 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-закодированное изображение на диск

...