首先,添加此自定义目录下方控制器:
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]);
});
});
}
};
}]);
然后在您查看使用这样的:
<input type = "file" name="files" file-model = "myFile"/>
在你的控制器功能时youf形式将提交:
像这样:
$scope.formSubmit = function(){
var file = $scope.myFile;
var fd = new FormData();
fd.append('profilepic', file);
fd.append('action', 'add');
$http.post('yourjavafile', fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
}).success(function (response) {
if (response) {
} else {
}
});;
}
图像上传过程由一个单独的jQuery库处理,我应该在这里使用它。除此之外还有其他解决方案吗?无论如何感谢这个解决方案。 –
是的,这是纯粹的角度文件上传的例子。 – Jigar7521