У меня есть форма, и несколько полей этой формы являются загрузкой файлов. Вот что у меня есть:
- Пользователь заполняет форму вверх
- Пользователь выбирает файлы для отправки
- Пользователь нажимает отправить
Теперь вот что я хочу сделать:
- Отправьте форму на сервер, вернув идентификатор
- Отправить файл один на сервер myresource/ID/fileone
- Отправить второй файл на сервер myresource/ID/filetwo ...
¿Как я могу выполнить загрузку этих файлов программно? (Я использую угловые промисы, так что проблем с последовательными запросами нет...)
Вот мой код:
$scope.upload = function (files, url) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: url,
//fields: {'username': $scope.username},
file: file
}).progress(function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
}).success(function (data, status, headers, config) {
console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
});
}
}
};
Мой HTML:
<input type="file" class="btn btn-danger" ng-file-select ng-model="files" ng-multiple="multiple"> Doit!
<input class="btn btn-danger" ng-file-select ng-model="files" ng-multiple="multiple">Doit too!