如何从 node.js@heroku 上传图片到 cloudinary?

How to upload image to cloudinary from node.js@heroku?

如何使用 multer 将 heroku 上的 node.js 中的图像(没有写入磁盘的权限)上传到 cloudinary?是否可以从 memoryStorage 上传缓冲区对象?

几天后我想出了怎么做!您需要使用 https://github.com/heldr/datauri 将缓冲区编码为数据 URI。这是它的样子:

var Datauri = require('datauri');
var multer = require('multer');
var memoryStorage = multer.memoryStorage();
var memoryUpload = multer({
 storage: memoryStorage,
 limits: {fileSize: 500000, files: 1}
}).single('image');

cloudinary.config({
  cloud_name: '',
  api_key: '',
  api_secret: ''
});
var dUri = new Datauri();

...

dUri.format(path.extname(req.file.originalname).toString(),req.file.buffer);
cloudinary.uploader.upload(dUri.content, function (err, i) {
  if (err) {
    ...
  } else {
    ...
  }
});