Je ai utilisé l'exemple AngularJS prévu dans http://jsfiddle.net/JeJenny/ZG9re/ pour uploader un fichier à partir de la machine locale. Je travaille avec AngularJS (frontend) et Symfony2 (backend), et je dois envoyer un attachement dans l'email (avec un service Web ), mais j'ai un problème, lors de l'ouverture de ma boite de récéption j'ai pas réçu aucun message, voici les erreurs que j'ai reçu dans le console:
voici mon code:
<div ng-controller="MailNewCtrl1">
<input type="file" nv-file-select="" id="id_file" uploader="uploader" file-model="myFile" >
<button id="id_submit" class="btn btn-info w-xs" ng-click='usersend();'>send</button>
</div>
et le controlleur:
'use strict';
angular.module('app', [
'ngAnimate',
'ngCookies',
'ngResource'
])
.controller('MailNewCtrl1', ['$scope', '$http' ,'fileUpload' , function($scope,$http,fileUpload) {
$scope.errors = [];
$scope.msgs = [];
$scope.usersend = function() {
$scope.errors.splice(0, $scope.errors.length); // remove all error messages
$scope.msgs.splice(0, $scope.msgs.length);
var file = $scope.myFile;
console.log('file is ' + JSON.stringify(file));
var uploadUrl = "/fileUpload";
fileUpload.uploadFileToUrl(file, uploadUrl);
$http({method: 'POST', url: 'theURLsendMail?myFile='+file}).success(function(data, status, headers, config){
if (data.msg != '')
{
$scope.msgs.push(data.msg);
alert("sucess send");
}
else
{
$scope.errors.push(data.error);
}
}).error(function(data, status) { // called asynchronously if an error occurs
// or server returns response with an error status.
$scope.errors.push(status);
});
}
}]);
app.directive('fileModel', ['$parse', function ($parse) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
var model = $parse(attrs.fileModel);
var modelSetter = model.assign;
element.bind('change', function(){
scope.$apply(function(){
modelSetter(scope, element[0].files[0]);
});
});
}
};
}]);
app.service('fileUpload', ['$http', function ($http) {
this.uploadFileToUrl = function(file, uploadUrl){
var fd = new FormData();
fd.append('file', file);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
.success(function(){
})
.error(function(){
});
}
}]);
j'ai attribué tout les privilèges au dossier qui contient l'image,mais j'ai toujours le même problème
merci pour l'aide