отправить несколько данных изображения с текстовым полем из углового контроллера

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

<form ng-submit="save()"><input type="file" file-upload multiple>
<div ng-repeat="step in files">
<img ng-src="{{step}}" />{{step.name}}
<input type="text" ng-model="comments">
</div>
<input type="submit"></form>

в моем контроллере

app.directive('fileUpload', function() {
return {
scope: true, //create a new scope
link: function(scope, el, attrs) {
el.bind('change', function(event) {
var files = event.target.files;
//iterate files since 'multiple' may be specified on the element
for (var i = 0; i < files.length; i++) {
//emit event upward
scope.$emit("fileSelected", {
file: files[i]
});
}
});
}
};
});

app.controller('mainCtrl', function($scope) {
$scope.files = [];
$scope.$on("fileSelected", function(event, args) {
var item = args;
$scope.files.push(item);
var reader = new FileReader();

reader.addEventListener("load", function() {
$scope.$apply(function() {
item.src = reader.result;
});
}, false);

if (item.file) {
reader.readAsDataURL(item.file);
}
});
});

Когда я нажимаю кнопку «Отправить», я хочу отправить имя изображения с соответствующими комментариями для изображения. Как я могу отправить данные через API для php.В моем коде функции save () см. ниже

$scope.save = function()
{
console.log($scope.files)console.log($scope.comments)
}

1

Решение

вам нужно использовать $http сервис для отправки изображений на сервер

$scope.save = function() {
var fd = new FormData();
fd.append('file', $scope.files);
$http.post('uploadUrl', fd, {
transformRequest: angular.identity,
headers: {
'Content-Type': undefined
}
})
.then(function(response) {})
.catch(function(response) {});
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]