Как показать прогресс загрузки файла для каждого файла с помощью AWS Javascript SDK?

Я пытаюсь загрузить файл на AWS S3, и он работает нормально. Но когда загрузка файла происходит для нескольких файлов, как мне получить прогресс для каждого файла. Ниже мой код в AngularJs

upload: function (file) {
    options = {
        accessKeyId : 'xxxxxxx',
        secretAccessKey : 'xxxxxxxxxxxxxxxxxxxxxxx',
        region : 'xxxxxx'
    }

    var s3 = new AWS.S3(options);

    var params = {
        Bucket : bucketStructure,
        Key: file.name,
        ContentType: file.type,
        Body: file,
        ServerSideEncryption: 'xxxx',
        ACL : 'private'
    };

    s3.putObject(params, function(err, data) {
      if(err) {
        // There Was An Error With Your S3 Config
        alert('AWS Error : '+err.message);
        return false;
      }
      else {
        // Success!
        alert('Upload Done');
      }
    })
    .on('httpUploadProgress',function(progress) {                        
        //console.log(Math.round(progress.loaded / progress.total * 100) + '% done');
    });

} 

Я вызываю приведенный выше код, который находится в сервисной функции, в цикле. Поэтому, когда пользователь нажимает кнопку отправки формы, я получаю два файла для загрузки, и в цикле ниже я вызываю вышеуказанную функцию:

angular.forEach($rootScope.awsfiles, function (file) {
                        FileFactory.Upload(file);
                    });

Теперь, как мне узнать, для какого файла прогресс показать? Любые другие лучшие идеи, чтобы заставить это работать?? Спасибо!

0 ответов

Другие вопросы по тегам