在 Sails.js 中重新排序文件上传的表单参数

reordering form parameters for file upload in sails.js

本文关键字:文件 参数 表单 排序 js Sails 新排序      更新时间:2023-09-26

我无法接收文件上传参数之后的参数。这是其文档中给出的船长问题。建议在进入服务器之前,在单击提交按钮时对参数进行重新排序。谁能告诉我如何重新排序表单中的所有参数,我已经搜索了我的答案,但无法获得所需的结果。

Ejs 文件(客户端)

<h2>
    Enter  Details
</h2>
<br>
<div class="container">
    <form  action ="/upload" id="form" method="POST" enctype="multipart/form-data">
        Name:<input type="text" id='name' name='name' placeholder="Enter Name"/>
        File:<input type="file" name="uploadFile" />
        <a onclick="clearFileInputField('uploadFile')" href="javascript:noAction();">
            Clear
        </a>
        <br>
        Address:<input type="text" id='address' name='address'/>
        mobile:<input type="string" id='mobile' name='mobile'/>
        pincode:<input type="string" id='pincode' name='pincode'/>
        <button type="submit" id="submit" class="btn btn-success" >
            Submit
        </button>
    </form>
    </p>
    <script>
        function clearFileInputField(tagId) {
        document.getElementById(tagId).innerHTML =
        document.getElementById(tagId).innerHTML;
        }
    </script>
</div>

文件控制器(服务器端)

/**
 * FileController
 *
 * @description :: Server-side logic for managing files
 * @help        :: See http://sailsjs.org/#!/documentation/concepts/Controllers
 */
module.exports = {
    upload: function(req,res){
        console.log(req.body);
        var uploadFile = req.file('uploadFile');
        uploadFile.upload(function onUploadComplete (err, files) {              
        //  Files will be uploaded to .tmp/uploads
            if (err) return res.serverError(err);                               
            //  IF ERROR Return and send 500 error with error
            res.json({status:200,file:files});
        });
    }
};

输出: { 名称: '测试' }

期望输出:{ 名称: '测试', 地址:"地址", 手机:"1234567891", 密码: '21341' }

我通过使用伪形式解决了我的问题。伪表单可以通过使用简单的javascript formData来制作。

文件未包含在表单数据中。它们是使用 AJAX 调用异步上传到服务器的。