我一直在尝试以顺序方式将多个文件上传到S3。即 2个文件A和B
上传文件A(成功时没有重定向),然后上传文件B(更大的文件)并在成功时重定向。
function StartPosting(data) {
var s3JsonList = JSON.parse(data.s3Json);
PopupSpinner();
$.each(s3JsonList, function (k, v) {
HttpPostToS3(k, v);
});
}
function HttpPostToS3(key, value) {
document.getElementById(key + 'S3SubmitDiv').innerHTML = value;//This sets the Post variables in the order. Also key + 'S3SubmitDiv'
setTimeout(function () {
jQuery('#' + key + 'form').submit();
}, 3000);
}
基本上有两种形式,每种形式都适用于相应的文件。 会发生什么,如果我把调试器两个文件都以调试模式上传到S3。但是当我禁用调试器时,只有第二个文件被上传到S3。
我的问题是 1-使用jQuery / HttpPost上传到S3的最佳方法是什么? 2 - 有没有办法在同一表格中获得文件上传的确认? 3 - 上传时也会获得进度条。
任何建议对我都有很大帮助。
谢谢。
修改
我只是进行了调整以使上述代码正常工作
当我对这两个文件应用设置超时功能时,显然只有第二个被上传。 对于第一个文件,我没有申请任何等待。对于第二个文件,我申请了等待5秒。
function StartPosting(data) {
var i = 0;
var s3JsonList = JSON.parse(data.s3Json);
PopupSpinner();
$.each(s3JsonList, function (k, v) {
if (i == 0) {
HttpPostToS3(k, v);
}
else {
setTimeout(function () {
HttpPostToS3(k, v);
}, 5000);
}
i++;
});
}
是的,代码很丑!但它现在才有用。