我想在表单中发送文件和隐藏的输入文本。
<form method="POST" action="/api/import_xlsx_data" enctype="multipart/form-data">
<input type="file" name="xlsx_file_to_import" accept=".xlsx" required>
<input id="url" type="HIDDEN" name="url" value="url-value">
<input type="submit" value="Envoyer">
在我的控制器请求中.body等于{} 当我删除enctype =“multipart / form-data”时,它适用于我的文本,但不适用于我的文件。
上传我的文件:
uploadFile.upload({saveAs : fileName, dirname : directoryName},function onUploadComplete(err, files) { ...............});
我的控制器:
importXLS: function (req, res) {
var uploadFile = req.file('xlsx_file_to_import');
//console.log(req.params()); -> send error params is not a function
console.log(req.body); // send me {}
console.log(req.param('url')); //send me undefined
...... }
关于pastbin的更多代码:
我的观点:view
我的控制器:controller
答案 0 :(得分:5)
使用skipper作为正文解析器,您必须在文件输入之前发送文本参数。
试试这个:
<form method="POST" action="/api/import_xlsx_data" enctype="multipart/form-data">
<input id="url" type="HIDDEN" name="url" value="url-value">
<input type="file" name="xlsx_file_to_import" accept=".xlsx" required>
<input type="submit" value="Envoyer">
有关详情,请参阅船长文档:https://github.com/balderdashy/skipper#text-parameters
答案 1 :(得分:2)
要检索您的字段,您需要使用:
request.param("url")
您的文件
var file = request.file("xlsx_file_to_import");