如何使用node js api将JavaScript File对象上传到Cloudinary?

时间:2019-06-30 08:39:39

标签: javascript node.js file cloudinary

我需要将文件上传到图像服务器,并且我选择从节点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不是函数”。

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

1 个答案:

答案 0 :(得分:2)

回答您的问题

  

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

为了将File对象上传到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);
}