如何使用节点 js api 将 JavaScript 文件对象上传到 Cloudinary?

How to upload JavaScript File object to Cloudinary using node js api?

我需要将文件上传到图像服务器,我选择从我的节点 js api 使用 cloudinary。 我安装了 npm package for cloudinary 并按照他们的代码使用了代码 api documentation

这是我的函数,它正在调用 http 请求来上传图片。

var cloudinary = require('cloudinary').v2;

function uploadProfilePic(req, res, next) {
   let file = (req && req.files.file) ? req.files.file : ''; // File object
   cloudinary.uploader.upload(file, function (error, result) {
      if (!error && result.url) {
         req.body.imageURL = result.url;
         next();
      }
      else {
         req.body.imageURL = '';
         next();
      }
   }).end(file.data);
}

获取错误 "file.match is not a function"。

如何在cloudinary上使用文件对象上传图片?

回答您的问题

How to upload image using file object on cloudinary?

为了上传文件对象到cloudinary,你可以使用upload_stream方法而不是 上传。检查文档 here.

更正了您的代码:

var cloudinary = require('cloudinary').v2;
function uploadProfilePic(req, res, next) {
   let file = (req && req.files.file) ? req.files.file : '';
   cloudinary.uploader.upload_stream({ resource_type: 'raw' }, function (error, result) {
      if (!error && result.url) {
         req.body.imageURL = result.url;
         next();
      }
      else {
         req.body.imageURL = '';
         next();
      }
   }).end(file.data);
}