我正在使用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
答案 0 :(得分:0)
end
提供回调,因此无需处理parse()
。 <{1}}被触发时会调用回调。
用户输入的文字将位于end
。