Загрузить несколько файлов с помощью передачи файлов ngcordova без $q.all

Я работаю над ионным проектом, в котором вы можете нажать 5 (или более) разных кнопок, чтобы выбрать изображение из библиотеки (или камеры, конечно) для каждого из них. я хочу загрузить каждое изображение сразу после выбора (или захвата) с помощью плагина передачи файлов ngcordova и показать некоторые отзывы о результате каждой загрузки после ее завершения, поэтому мне нужно использовать обратный вызов успеха и ошибки для каждого из моих вызовов передачи файлов.

проблема в том, что плагин для передачи файлов может обрабатывать только одну загрузку за раз, и если я начну загружать новое изображение до завершения первой загрузки, первая загрузка получит сообщение об ошибке, а вторая загрузка начнется. но если я начну вторую загрузку после завершения первой загрузки, проблем не будет.

я знаю, что могу использовать $q.all, но в этом случае я буду пропускать успех и ошибку для каждого обещания. Как я могу решить эту проблему?

большое спасибо.


person patterenus logic    schedule 04.06.2016    source источник
comment
Взгляните на этот stackoverflow.com/questions /14464945/   -  person Italo Ayres    schedule 05.06.2016
comment
@ItaloAyres спасибо. обычно это должно работать для обработки 1 обещания за раз. но на самом деле я обнаружил, что он будет работать отлично, когда я использую только камеру для съемки (потому что Android сохранит каждый из них под другим именем). но если использовать библиотеку, потому что Android сохраняет все изображения, выбранные из библиотеки, с тем же именем, каждый раз, когда я выбираю изображение, предыдущие загрузки в очереди будут прерываться, потому что файл будет изменен. можешь помочь и с этим?   -  person patterenus logic    schedule 05.06.2016
comment
Согласно документации вы можете установить имя файла в настройках. fileName: The file name to use when saving the file on the server. Defaults to image.jpg.   -  person Italo Ayres    schedule 05.06.2016
comment
@ИталоАйрес. моя проблема связана с Android, а не с передачей файлов Cordova. когда я выбираю изображение из библиотеки, он дает путь, например /storage/emulated/0/Android/data/com.ionicframework.classifiedapp760481/cache/.Pic.jpg, когда я выбираю другое изображение, он дает мне точно такой же путь для изображения. поэтому предыдущее изображение недоступно, и плагин для передачи файлов не может его загрузить (даже в середине загрузки) и выдает ошибку ...   -  person patterenus logic    schedule 05.06.2016
comment
Каким средством выбора изображений вы пользуетесь?   -  person Italo Ayres    schedule 06.06.2016
comment
средство выбора изображений по умолчанию, которое поставляется из плагина камеры Cordova   -  person patterenus logic    schedule 06.06.2016