节点JS,强大,Cloudinary图像上传

时间:2016-02-28 04:56:53

标签: javascript node.js cloudinary formidable

我正在使用Node JS,Formidable和Cloudinary依赖项开发一个应用程序,它允许用户将图像上传到Cloudinary数据库。

用户将从多部分表单上传图像,我希望这些字段成为要传递给Cloudinary上传功能的变量。

我的代码有效,但我无法将表单信息作为Cloudinary参数传递。

这是我当前的代码,它传递原始文件名:

router.post('/upload', function (req, res){
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
    res.writeHead(200, {'content-type': 'text/plain'});
    res.write('received upload:\n\n');
    res.end(util.inspect({fields: fields, files: files}));  
});

form.on('end', function(fields, files) {
    var temp_path = this.openedFiles[0].path;
    var file_name = this.openedFiles[0].name;

    cloudinary.uploader.upload(temp_path, function(result) { console.log(result) }, 
      { public_id: file_name });
})

但我不想要原始文件名。而不是var file_name我想要var image_name which is provided by the user from the form

1 个答案:

答案 0 :(得分:0)

顺便说一句,由于您正在向end提供回调,因此无需处理parse()。 <{1}}被触发时会调用回调。

用户输入的文字将位于end