无法使用Parse.File为快速Web应用程序上传文件

时间:2014-07-18 11:29:25

标签: javascript express parse-platform

我正在创建一个快速的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> 

1 个答案:

答案 0 :(得分:0)

您似乎正在正确保存文件,但是您尝试将其附加到的对象未正确声明。

最常见的模式(根据文档)是声明您的类,然后创建它的实例,例如,如果您的类名为“Foo”:

var Foo = Parse.Object.extend("Foo");
var foo = new Foo();
foo.set("file", parseFile);

最后,您应该在重定向之前等待保存完成:

foo.save().then(function() {
    res.redirect("/administrator");
});