Я пытаюсь передать содержимое файла в Cloudinary и использовать обратный URL-адрес для передачи в мою базу данных
Я успешно реализовал graphql-upload для загрузки файла изображения с моего клиента на сервер. Я могу получить поток, имя файла, тип mime, кодировку со стороны сервера
После этого я не могу отправить изображение в 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.info();
console.info("** Stream Upload");
if (err) {
console.warn(err);
}
console.info("* Same image, uploaded via stream");
console.info("* " + image.public_id);
console.info("* " + image.url);
}
);
const file_reader = fs
.createReadStream(stream)
.pipe(upload_stream);
} catch (error) {
throw error;
}
return true;
},





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