Javascript 要通过html表单解析的Uploaidng文件
我试图让用户填写表格并上传照片。我希望所有这些信息都存储在我的解析数据库中。我得到的表格工作良好,现在我需要包括文件上传。我也在用express.js创建它 这是我的.ejs文件和表单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
<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">.