Javascript 上载文件并使用multer传递附加参数
我正在使用和将文件上载到我的服务器。这很好,但我正在尝试传递一个额外的参数,它将确定文件的确切保存位置 我有以下代码,我想对其进行扩展,使其符合规定: HTML Node.js路由Javascript 上载文件并使用multer传递附加参数,javascript,node.js,file-upload,jquery-forms-plugin,multer,Javascript,Node.js,File Upload,Jquery Forms Plugin,Multer,我正在使用和将文件上载到我的服务器。这很好,但我正在尝试传递一个额外的参数,它将确定文件的确切保存位置 我有以下代码,我想对其进行扩展,使其符合规定: HTML Node.js路由 注意:我知道我不是在检查mimetype或清理用户文件,但现在这对我来说主要是次要的。问题是,multer首先保存文件,然后才写入表单的剩余部分,例如隐藏字段 试试这个: app.post(APIpath + "file",function(req,res){ var storage = multer.dis
注意:我知道我不是在检查mimetype或清理用户文件,但现在这对我来说主要是次要的。问题是,
multer
首先保存文件,然后才写入表单的剩余部分,例如隐藏字段
试试这个:
app.post(APIpath + "file",function(req,res){
var storage = multer.diskStorage({
destination: tmpUploadsPath
});
var upload = multer({ storage : storage}).any();
upload(req,res,function(err) {
if(err) {
console.log(err);
return res.end("Error uploading file.");
} else {
console.log(req.body);
req.files.forEach( function(f) {
console.log(f);
// and move file to final destination...
});
res.end("File has been uploaded");
}
});
});
您可以从
req.body
获取savePath
。我只为userFile
获取了一个对象,savePath
从未在req.body
中出现过。请协助添加移动到最终目的地的示例。在我的例子中,我想移动一个云位置@stdob——我无法访问附加在文件后面的body值。所以我最后添加了文件。非常感谢!帮了我很多忙!我必须使用req.file来获取所需的内容,因此如果上面的内容对您不起作用,只需记录正文,看看您需要的内容是否在其中。
uploadForm.submit(function() {
$(this).ajaxSubmit({
error: function(xhr) {
console.log('Error: ' + xhr.status);
},
success: function(response) {
console.log('Success: ' + response);
}
});
return false;
});
app.post(APIpath + "file",function(req,res){
var storage = multer.diskStorage({
destination: absoluteServePath+ "/" + config.filePath,
filename: function (req, file, cb) {
cb(null, file.originalname);
}
});
var upload = multer({ storage : storage}).any();
upload(req,res,function(err) {
if(err) {
console.log(err);
return res.end("Error uploading file.");
}
res.end("File has been uploaded");
});
});
app.post(APIpath + "file",function(req,res){
var storage = multer.diskStorage({
destination: tmpUploadsPath
});
var upload = multer({ storage : storage}).any();
upload(req,res,function(err) {
if(err) {
console.log(err);
return res.end("Error uploading file.");
} else {
console.log(req.body);
req.files.forEach( function(f) {
console.log(f);
// and move file to final destination...
});
res.end("File has been uploaded");
}
});
});