Enviar múltiples datos de imagen con cuadro de texto desde el controlador angular

Deseo enviar múltiples datos de imágenes con valor de cuadro de texto al lado del servidor (PHP). He realizado múltiples cargas de imágenes, pero no puedo enviar mis datos al lado del servidor al enviar el formulario. Mi código de vista está debajo

<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>

en mi controlador

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);
    }
  });
});

Cuando hago clic en el botón Enviar, quiero enviar el nombre de la imagen con los comentarios correspondientes para la imagen. ¿Cómo podría enviar los datos a través de una aplicación para php?

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta