我需要将文件上传到图像服务器,并且我选择从节点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上使用文件对象上传图像?
答案 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);
}