Sails.js:同时发布文本输入和文件

dam*_*and 5 javascript post multipartform-data enctype sails.js

我想在表单中发送文件和隐藏的输入文本.

<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">
Run Code Online (Sandbox Code Playgroud)

在我的控制器request.body等于{}.
当我删除enctype ="multipart/form-data"时,它适用于我的文本,但不适用于我的文件.

要上传我的文件:

uploadFile.upload({saveAs : fileName, dirname : directoryName},function onUploadComplete(err, files) { ...............});
Run Code Online (Sandbox Code Playgroud)

我的控制器:

 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


...... }
Run Code Online (Sandbox Code Playgroud)

关于pastbin的更多代码:我的观点:查看
我的控制器:控制器

小智 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">
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅船长的文档:https://github.com/balderdashy/skipper#text-parameters