node.js - 将图像从节点上传到 Cloudinary
问题描述
我正在尝试将文件内容流式传输到 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;
},
解决方案
尝试将 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);
推荐阅读
- mysql - RDBMS 中具有 OR 条件的 Row_number 函数
- apache-spark - Pyspark 以高性能的方式将多个有序数据流选择到一个 RDD 中
- python - Django 日志记录 - 登录 ValidationError 不起作用
- ios - 表单内的 TableView 没有正确显示 Swift
- r - Passing list of characters into file.path in R
- python - 基于索引映射和映射到同一索引的平均值将值从一个张量复制到另一个张量
- android - 如何在 Android Studio 3.6.0 中禁用 zipfinger 打包工具
- xml - Postgres 到 xml 排序依据
- css - 如何使引导列可滚动?
- r - 如何从ggplot中的条形顺序单独自定义图例的顺序?