return FALSE; $r = well_tag_thread__update(array('id' => $id), $update); return $r; } function well_tag_thread_find($tagid, $page, $pagesize) { $arr = well_tag_thread__find(array('tagid' => $tagid), array('id' => -1), $page, $pagesize); return $arr; } function well_tag_thread_find_by_tid($tid, $page, $pagesize) { $arr = well_tag_thread__find(array('tid' => $tid), array(), $page, $pagesize); return $arr; } ?>javascript - Sails.js : post text input and a file in the same time - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Sails.js : post text input and a file in the same time - Stack Overflow

programmeradmin2浏览0评论

I want to send a file and a hidden input text in a form.

<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">

In my controller request.body is equal to {}.
When I remove enctype="multipart/form-data" it works for my text but not for my file.

To upload my file :

uploadFile.upload({saveAs : fileName, dirname : directoryName},function onUploadComplete(err, files) { ...............});

My controller :

 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


...... }

More code on pastbin : My view : view
My controller : controller

I want to send a file and a hidden input text in a form.

<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">

In my controller request.body is equal to {}.
When I remove enctype="multipart/form-data" it works for my text but not for my file.

To upload my file :

uploadFile.upload({saveAs : fileName, dirname : directoryName},function onUploadComplete(err, files) { ...............});

My controller :

 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


...... }

More code on pastbin : My view : view
My controller : controller

Share Improve this question edited Apr 9, 2015 at 17:14 damien marchand asked Apr 9, 2015 at 15:43 damien marchanddamien marchand 8641 gold badge14 silver badges30 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 5

Using skipper as a body parser, you must send the text parameters before your file input.

Try this:

<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">

For more information, please see the documentation for skipper : https://github./balderdashy/skipper#text-parameters

To retrieve your field, you need to use :

request.param("url")

And your file with

var file = request.file("xlsx_file_to_import");
发布评论

评论列表(0)

  1. 暂无评论