angularjs - ng-文件上传顺序 promise

标签 angularjs ng-file-upload

使用此指令:ng-file-upload

如何按顺序(按顺序、排队)上传多个文件?我正在考虑链式 promise ,但我不知道如何将 promise 和指令结合起来。

This is an example上传多个文件,但同时上传且不按顺序上传。

这是我的代码:

for (var i = 0; i < files.length; i++) {
    Upload.upload({
        url: config.base+'/upload/',
        data: {
            file: files[i],
        }
    }).then(function (response) {
        vm.reloadImatges();
        vm.upload.progress=0;
        vm.upload.files--;
    }, function (resp) {

    }, function (evt) {
        vm.upload.progress = parseInt(100.0 * evt.loaded / evt.total);
    });                        
}

最佳答案

我找到了一个解决方案,也许不是最好的,但它有效 http://jsfiddle.net/erLax2fm/2/

代码如下:

var doSomething = function (index) {

    var defer = $q.defer();

    Upload.upload({
        url: url: config.base+'/upload/',
        data: {
            file: objects[index]
        }
    }).then(function (response) {
        objects[index].processed = true;
        if (objects[++index]) {
            defer.resolve(index);
        } else {
            defer.reject();
        }
    }, function (response) {


    }, function (evt) {
       vm.upload.progress = parseInt(100.0 * evt.loaded / evt.total);
    });

    defer.promise.then(doSomething);
};

doSomething(0);

关于angularjs - ng-文件上传顺序 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38340156/

相关文章:

javascript - AngularJS 选择/ng-选项

python - 使用 Selenium 和 ng-file-upload 自动上传文件

javascript - 无法使用 http-server wiki 示例

python - 使用 ng-file-upload 上传时,Flask 服务器上的 Request.files 对象为空

javascript - AngularJS 使用任意数据解析 AJAX 请求,无需进行 AJAX 调用

javascript - 如何在 Angular js文件中使用cookie?

javascript - 用 Electron 下载游戏/用 Electron 检测游戏版本

javascript - 从 'current' Controller 访问 'root' 范围