我目前正试图掌握角度并需要将文件上传到服务器,但我认为即使在进入该阶段之前我也遇到了问题。
我的问题是我的ng-model
显示了一个空对象。据我了解,它会提醒控制器中的文件信息......
从SO上读到其他问题和答案我认为该指令将返回文件信息。
HTML:
<form name="addNewEvent" >
Image:<br /><input data-file id="id_image" name="image" ng-model="eventFormData.eventImage" type="file"><br />
First name: <br/><input type="text" ng-model="eventFormData.eventName"> <br />
// More inputs
</form>
JS:
var eventApp = angular.module('eventApp', ['ngRoute']);
eventApp.directive('file', function() {
return {
require:"ngModel",
restrict: 'A',
link: function($scope, el, attrs, ngModel){
el.bind('change', function(event){
var files = event.target.files;
window.alert(files[0]);
var file = files[0];
ngModel.$setViewValue(file);
$scope.$apply();
});
}
};
});
在我的控制器中......
$scope.submitForm = function(eventFormData) {
window.alert($scope.eventFormData.eventImage.toSource());
};