Javascript 要通过html表单解析的Uploaidng文件

Javascript 要通过html表单解析的Uploaidng文件,javascript,jquery,html,express,parse-platform,Javascript,Jquery,Html,Express,Parse Platform,我试图让用户填写表格并上传照片。我希望所有这些信息都存储在我的解析数据库中。我得到的表格工作良好,现在我需要包括文件上传。我也在用express.js创建它 这是我的.ejs文件和表单 <div id="result"></div> <form action="/" id="filter-form" > <P> Upload your filter! <input type="file" id="uploadfil

我试图让用户填写表格并上传照片。我希望所有这些信息都存储在我的解析数据库中。我得到的表格工作良好,现在我需要包括文件上传。我也在用express.js创建它

这是我的.ejs文件和表单

<div id="result"></div>

<form action="/" id="filter-form" >

    <P>
    Upload your filter!
    <input type="file" id="uploadfilter" required>
    <img id="yourfilter" src="#" >
    </P>    



    <p>
    <input type="text" name="name" placeholder="Name" id="username" required>
    </p>

    <p>

    <input type="email" name="email" placeholder="Email" id="email" required>
    </p>

    <p>
    <textarea name="comments" id="comments" placeholder ="Additional comments" required></textarea>
    </p>

    <p>
    <input type="checkbox" style="position: relative; left:0; visibility: visible;" required > I agree that this is my own work and does not contain logos or trademarks and I have read the Submission Guidelines
    </p> 

    <p>
    <input type="checkbox" style="position: relative; left:0; visibility: visible;" required > I agree to the Privacy Policy and Submission Agreement of the Smart Filters submission tool.
    </p> 

    <p>
    <input type="submit" value="Submit Filter">
    </p>


</form>

当它只是文本输入时,这个表单就可以完美地工作。当我包含文件输入时,它停止了提交(可能是因为我还没有完全实现它)。我现在只需要让文件上传工作,以及它。我不知道如何连接它们,也不知道从哪里开始。非常感谢您的帮助:)

您的表单无法以您的方式发送文件或图像: 表单要求设置属性“enctype”

<form action="/" id="filter-form" method="post" enctype="multipart/form-data">.

谢谢你的提示。有没有关于如何实际检索文件数据并进入解析的建议?
    app.post('/*', function (req, res) {

    console.log('I AM HERE!');
    console.log("PARAMS:")
    console.log(req.params);
    console.log("BODY:");
    console.log(req.body);

    var data = req.body;

    if ((tryParseJSON(data) != false) || (!data.hasOwnProperty('name')) || (!data.hasOwnProperty('email')) || (!data.hasOwnProperty('comments'))) {
        return res.json({"message" : "Invalid parameters!", "status" : 200});
    }

    var newFilter = Parse.Object.extend("FilterSubmit");
    var newfilter = new newFilter();


    newfilter.set("name", data.name);
    newfilter.set("email", data.email);
    newfilter.set("comments", data.comments);
    newfilter.set("filterfile", data.parseFile);

    var FilterSave = newfilter.save();

    return Parse.Promise.when([FilterSave]).then(function (FilterSubmit) {

        console.log("Filter Saved!");
        return res.json({"status" : 400, "message" : "Filter Saved! Thank you "+data.name+"!"});

    }, function (error) {

        console.log("Save error!");
        console.log(error);
        return res.json({"message" : "Save error!", "status" : 200});

    });

});

function tryParseJSON (jsonString){
    try {
        var o = JSON.parse(jsonString);

        // Handle non-exception-throwing cases:
        // Neither JSON.parse(false) or JSON.parse(1234) throw errors, hence the type-checking,
        // but... JSON.parse(null) returns 'null', and typeof null === "object", 
        // so we must check for that, too.
        if (o && typeof o === "object" && o !== null) {
            return o;
        }
    }
    catch (e) { }

    return false; };
<form action="/" id="filter-form" method="post" enctype="multipart/form-data">.