Загрузить изображение из узла в Cloudinary - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь передать содержимое файла в Cloudinary и использовать URL-адрес возврата для передачи в мою базу данных.

Я успешно реализовал graphql-upload для загрузки файла изображения с моего клиента на сервер.Я могу получить поток, имя файла, mimetype, кодировку со стороны сервера

После этого я не могу отправить изображение в Cloudinary.Ниже приведены мои коды ... Благодарю совет

Спасибо

import cloudinary from 'cloudinary';

Mutation: {
        uploadPicture: async (_, { file }) => {
          // Works Ok
      const { stream, filename, mimetype, encoding } = await file;

      try {

        cloudinary.config({
          cloud_name: process.env.cloud_name,
          api_key: process.env.CLOUDINARY_API_KEY,
          api_secret: process.env.CLOUDINARY_API_SECRET
        });

// Below is the area where I am unsure
        var upload_stream = cloudinary.uploader.upload_stream(
          { tags: "sample" },
          function(err: any, image: any) {
            console.log();
            console.log("** Stream Upload");
            if (err) {
              console.warn(err);
            }
            console.log("* Same image, uploaded via stream");
            console.log("* " + image.public_id);
            console.log("* " + image.url);
          }
        );
        const file_reader = fs
          .createReadStream(stream)
          .pipe(upload_stream);


      } catch (error) {
        throw error;
      }
      return true;
    },

1 Ответ

0 голосов
/ 22 ноября 2018

Попробуйте добавить v2 к вашему звонку

var upload_stream= cloudinary.v2.uploader.upload_stream({tags: 'basic_sample'},function(err,image) {
  console.log('here');
  console.log("** Stream Upload");
  //if (err){ console.warn(err);}
  console.log("* Same image, uploaded via stream");
  console.log("* "+image.public_id);
  console.log("* "+image.url);
});
var file_reader = fs.createReadStream('picture.jpg').pipe(upload_stream);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...