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);
})
}
})
append() The append() method of the FormData interface appends a new value onto an existing key inside a FormData object, or adds the key if it does not already exist.
getAll() The getAll() method of the FormData interface returns all the values associated with a given key from within a FormData object. Note: This method is available in Web Workers.
FormData.get() Returns the first value associated with a given key from within a FormData object. FormData.getAll() Returns an array of all the values associated with a given key from within a FormData .
We use the append method of FormData to append the file, passed as a parameter to the uploadFile() method, to the file key. This will create a key-value pair with file as a key and the content of the passed file as a value.
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With