我正在使用此Angular File Upload库进行上传过程。
使用该存储库中列出的相同设置完全上传。
但是,我必须将文件上传到队列中(一个接一个文件),而不是同时上传所有文件。
示例使用fork repo,要求是我使用我列出的那个。
还需要其他选项,例如暂停/取消。
当前设置:
Controller:
$scope.onFileSelect = function($files) {
for (var i = 0; i < $files.length; i++) {
//loop through files and put in an array
}
//execute upload function
$scope.start(files);
}
}
};
$scope.start = function(index) {
$upload.upload({
//upload clode
}).progress(function(evt) {
//Progress calculation
}).success(function(data, status, headers, config) {
//Success return
}).error(function(data, status, headers, config) {
console.log(data);
});
};
答案 0 :(得分:1)
试试这个,基本上它只是一次发送一个文件,直到完成。如果您希望在发送每个文件之间有延迟,可以使用$ timeout:
$scope.onFileSelect = function($files) {
$scope.uploadList = $files;
$scope.uploadIndex = 0;
$scope.start(uploadIndex)
};
$scope.start = function() {
$upload.upload({
//upload code, send file
// Send file $scope.uploadList[$scope.uploadIndex];
}).progress(function(evt) {
//Progress calculation
}).success(function(data, status, headers, config) {
//Success return
$scope.uploadIndex++;
// Send the next file by calling ourselves
if (uploadIndex < uploadList.length)
$scope.start(); // Send the next one now - could be deferred a little by using $timeout
}).error(function(data, status, headers, config) {
console.log(data);
});
};
答案 1 :(得分:0)
现在您应该自己管理队列。您可以在上次上传的最后一次开始新的上传。