我正在使用danialfarid的
我已经成功地将其整合到我的REST调用包装器服务中,我可以使用
然而,由于for循环不断改变文件标识符,我无法正确地识别我正在上传的单个图像。
这毫不意外,是我得到的混乱输出:
angular-file-upload
模块(https://github.com/danialfarid/angular-file-upload),它非常好用。我已经成功地将其整合到我的REST调用包装器服务中,我可以使用
$q.all()
上传多张图片并跟踪它们的进度。然而,由于for循环不断改变文件标识符,我无法正确地识别我正在上传的单个图像。
uploadPhotos: function (files) {
var deferred = $q.defer()
var queue = []
for (var i = 0; i < files.length; i++) {
var file = files[i];
var up = $upload.upload({
url: locationURI +'/photos',
file: file,
fileFormDataName: 'image'
}).then(
function (data) {
console.log(data)
},
function (err) {
console.log(err)
},
function(evt) {
// progress events
console.log('percent: ' + parseInt(100.0 * evt.loaded / evt.total));
}
)
queue.push(up)
}
$q.all(queue).then(
function (data) {
deferred.resolve(data)
},
function (err) {
deferred.reject(err)
}
)
return deferred.promise
}
这毫不意外,是我得到的混乱输出:
percent: 68 restfactory.js:359
percent: 100 restfactory.js:359
percent: 100 restfactory.js:359
percent: 14 restfactory.js:359
percent: 37 restfactory.js:359
percent: 52 restfactory.js:359
percent: 89 restfactory.js:359
percent: 100 restfactory.js:359
percent: 100 restfactory.js:359
你有没有想过如何实现类似以下的功能:
file1 - percent: 68 restfactory.js:359
file1 - percent: 100 restfactory.js:359
file2 - percent: 100 restfactory.js:359