gpt4 book ai didi

javascript - 使用 javascript 将文件上传到 parse.com

转载 作者:行者123 更新时间:2023-12-03 11:05:18 26 4
gpt4 key购买 nike

我正在尝试上传一组文件以使用 JavaScript 进行解析,代码如下:

html:

<fieldset>
<input type="file" name="fileselect" id="fileselect" multiple></input>
<input id="uploadbutton" type="button" value="Upload"> </input>
</fieldset>

JS:

$('#uploadbutton').click(function () {
var fileUploadControl = $("#fileselect")[0];
if (fileUploadControl.files.length > 0) {
var file = fileUploadControl.files[0];
var name = "style.css";
var parseFile = new Parse.File(name, file);
var filesArray = [parseFile];
}
parseFile.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.
});
var newStore = new Parse.Object("FileStore");
newStore.set("files", filesArray);
newStore.save();
});

我正在上传到一个名为 FileStore 的类,其中键"file"当前设置为一个数组,并且我想保存一个文件数组。这是上传多个文件进行解析的最佳方法吗?我的代码现在不起作用。我的目标是让多个文件与我的类中的每个对象关联。

最佳答案

小心异步代码。目前,您的代码存在竞争条件,很可能会失败,因为您在 parseFile.save() 完成之前调用了 newStore.save()

处理 newStore 的这 3 行应该位于 parseFile.save() 的成功处理程序内,例如:

parseFile.save().then(function() {
// The file has been saved to Parse.
var newStore = new Parse.Object("FileStore");
newStore.set("files", filesArray);
newStore.save();
}, function(error) {
// The file either could not be read, or could not be saved to Parse.
});

当您要保存多个文件时,您需要等待所有文件完成才能继续下一步。您可以将您的 promise 链接在一起以运行 Series或在 Parallel .

对于你想要的,并行可以很好地工作:

var fileSavePromises = [];

// assuming some code that creates each file has stored the Parse.File objects in an
// array called "filesToSave" but not yet called save
_.each(filesToSave, function(file) {
fileSavePromises.push(file.save());
});

Parse.Promise.when(fileSavePromises).then(function() {
// all files have saved now, do other stuff here
var newStore = new Parse.Object("FileStore");
newStore.set("files", filesToSave);
newStore.save();
});

关于javascript - 使用 javascript 将文件上传到 parse.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27889064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com