AngularJS文件上传 发表于 2014-11-15 | 分类于 Practice | jsfiddle地址http://jsfiddle.net/JeJenny/ZG9re/ html代码1234<div ng-controller = "myCtrl"> <input type="file" file-model="myFile"/> <button ng-click="uploadFile()">upload me</button></div> javascript代码1234567891011121314151617181920212223242526272829303132333435363738394041424344var myApp = angular.module('myApp', []);myApp.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]); }); }); } };}]);myApp.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(){ }); }}]);myApp.controller('myCtrl', ['$scope', 'fileUpload', function($scope, fileUpload){ $scope.uploadFile = function(){ var file = $scope.myFile; console.log('file is ' ); console.dir(file); var uploadUrl = "/fileUpload"; fileUpload.uploadFileToUrl(file, uploadUrl); }; }]);