我将Sails Js用于我的项目,并使用Parse。 不起作用的是我无法将文件上传到Parse。 互联网上有很多相同的主题,但总是没有解决!
到目前为止一切正常:
var newFile = new Parse.File(fileName, file, contentType);
// fileName = blue.jpg, file = { JSON of all the file's information }, contentType = 'image/jpeg',
// newFile = { _name: 'blue.jpg' }
// so my HTML form works.
// I tried (1)
newFile.save().then(function() {
// The file has been saved to Parse.
}, function(error) {
// The file either could not be read, or could not be saved to Parse.
});
// I tried (2)
fs.readFile(filePath, function (err, data) {
var newFile = new Parse.File('my_path_I_want...', data);
newFile.save().then(function(file) {
}, function(error) {
});
});
问题始终如一:
myApp/node_modules/parse/build/parse-latest.js:4438
self._previousSave = self._source.then(function(base64, type) {
^
TypeError: Cannot read property 'then' of undefined at Object.Parse.File.save (myApp/node_modules/parse/build/parse-latest.js:4438:42)
我真的不知道该做什么/现在尝试。
Here他们说这是一个错误,但我不相信,自2014年以来没有上传..
而here是Parse File的Parse文档部分。
你有个主意吗?
答案 0 :(得分:1)
您是否正在检查实际文件是否存在?
ImageExist(url){
var img = new Image();
img.src = url;
return img.height != 0;
}
从您上传的地方,检查路径是否也没有中断。
答案 1 :(得分:1)
我终于成功了:
var fs = require('fs');
var fileData = fs.readFileSync(filePath);
fileData = Array.prototype.slice.call(new Buffer(fileData), 0)
var newFile = new Parse.File(fileName, fileData);
Parse想要一个数据数组,所以我可以理解为什么会有效,但是在文档编写中,我们也可以用我在开头发布的方式来做。 也许"文件"变量与sails js不一样。