我正在创建一个快速的Web应用程序和Parse后端。我正在使用.ejs文件来呈现网页。当在文件上传表单中单击提交按钮时,表达路由我到testfile.js,其中我使用Parse.File方法将文件上传到Parse db。我认为我的功能有问题,它从提交的表单中提取文件。我附加了包含上传表单的testfile.js和.ejs文件。请检查并建议我正确的答案。这是我的testfile.js。
exports.xmlfile = function(req, res) {
var filecontrol = $("#myfile")[0];
var file= filecontrol.files[0];
var parseFile= new Parse.File("8706388_orig.jpg",file);
parseFile.save().then(function(){
var newobj= new Parse.Object;
newobj.set('file', parseFile);
newobj.save();
res.redirect('/administrator');
});
};
这是.ejs文件上传表单
<form class="form form2" id="myform" name="myform" enctype="multipart/form-data" method="post" action="/administrator">
<input type="file" id="myfile" name="myfile">
<input class="w-button upload" type="submit" value="Upload" >
</form>
答案 0 :(得分:0)
您似乎正在正确保存文件,但是您尝试将其附加到的对象未正确声明。
最常见的模式(根据文档)是声明您的类,然后创建它的实例,例如,如果您的类名为“Foo”:
var Foo = Parse.Object.extend("Foo");
var foo = new Foo();
foo.set("file", parseFile);
最后,您应该在重定向之前等待保存完成:
foo.save().then(function() {
res.redirect("/administrator");
});