【发布时间】:2019-09-29 00:50:01
【问题描述】:
我正在使用jdenticon 在 node/express 应用程序中注册时生成用户头像。
在本地运行,我可以这样做:
- 使用jdenticon 生成标识
- 在本地保存文件
- 上传本地文件到cloudinary
我是这样做的
const cloudinary = require("cloudinary");
cloudinary.config({
cloud_name: 'my-account-name',
api_key: process.env.CLOUDINARY_API,
api_secret: process.env.CLOUDINARY_SECRET
});
// 1. Generate identicon
let jdenticon = require("jdenticon"),
fs = require("fs"),
size = 600,
value = String(newUser.username),
svg = jdenticon.toPng(value, size);
let file = "uploads/" + value + ".png";
// 2. Save file locally
fs.writeFileSync(file, svg);
// 3. Upload local file to cloudinary
let avatar = await cloudinary.v2.uploader.upload(file);
// Do stuff with avatar object
这非常适合在本地运行我的应用程序。但是,据我了解,我无法在 Heroku 上存储图像(如果不是这种情况,那就太好了,并且会大大简化事情),所以我需要保存将生成的标识直接发送到 cloudinary。
如何将生成的图片 (svg = jdenticon.toPng(value, size);) 直接上传到 cloudinary,无需先保存?
任何帮助将不胜感激!
【问题讨论】:
标签: javascript node.js express cloudinary