8

Everyone I'm using Ionic I try to send files to my Server, but I have a problem with form data its still empty after append when I check it at console the same think I found it empty and no data is inserted at my DB.

PS: I use many inputs files.

This is controller:

.controller('perProfil', function($scope, annonceService, TDCardDelegate, $timeout, $http, $rootScope) {
  $scope.data = {}

  $scope.uploadedCin = function(element) {
    $scope.$apply(function($scope) {
      var files = element.files;
      $rootScope.cin = files[0];
    })
  }

  $scope.uploadedbultin = function(element) {
    $scope.$apply(function($scope) {
      var files = element.files;
      $rootScope.bult = files[0];
      $rootScope.FormData.append("bult", files[0]);
    })
  }

  $scope.uploadedavis = function(element) {
    $scope.$apply(function($scope) {
      var files = element.files;
      $rootScope.avis = files[0];
    })
  }

  $scope.uploadedCertif = function(element) {
    $scope.$apply(function($scope) {
      var files = element.files;
      $rootScope.certif = files[0];
      console.log($rootScope.certif);
    })
  }

  $scope.uploadedFile = function(element) {
    var url = 'http://localhost/documents?token=' + localStorage.getItem("token");

    console.log($rootScope.FormData);
    var fd = new FormData(this);

    fd.append("file", JSON.stringify($rootScope.cin));
    fd.append("butin", $rootScope.bult);
    fd.append("avis", $rootScope.avis);
    /fd.append("certifScol",$rootScope.certif);

    var data = {
      "idUser": "name",
      "type": "type"
    }

    fd.append("data", JSON.stringify(data));
    console.log(fd);

    $http.post(url, fd, {
        headers: {
          'Content-Type': 'multipart/form-data'
        },
        transformRequest: angular.identity
      })
      .success(function(data) {
        console.log(data);
      })
      .error(function(data) {
        console.log(data);
      })
  }
})
Mr. Polywhirl
  • 42,981
  • 12
  • 84
  • 132
ryoko
  • 115
  • 1
  • 6
  • 1
    When logging a formData object with just console.log(formData) it always returns empty, as you can't log formData. Please share your html too – pratik shah Feb 03 '19 at 02:48

1 Answers1

1

As per the answer here:...

var formData = new FormData(form); for (var [key, value] of formData.entries()) { console.log(key, value);} //or console.log(...formData)

xplorer1
  • 1,254
  • 1
  • 10
  • 13