Как показать прогресс загрузки файла для каждого файла с помощью 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);
});
Теперь, как мне узнать, для какого файла прогресс показать? Любые другие лучшие идеи, чтобы заставить это работать?? Спасибо!