我想用AngularJs上传文件(所以图片)...我读AngularJs不支持tag input type =“file”,所以我读了我需要的自定义指令...我想取输入文件,并将其用于显示预览(缩略图)在同一个页面的html和控制器上传的文件在服务器上...在我的网页HTML我写了这个代码:用AngularJs上传文件/图片
<body ng-controller="myController">
<h1>Select file</h1>
<input type="file" file-model="myFile" />
<div>
<h2>File content is:</h2>
<pre>{{ content }}</pre>
</div>
</body>
我写了这个指令:
var modulo = angular.module('myApp', []);
modulo.directive('fileModel', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.on('change', function (event) {
var file = event.target.files[0];
scope.$emit("fileSelected", file);
});
}
};
});
这是我的控制器:
modulo.controller('myController', function ($scope) {
$scope.$on('fileSelected', function (event, args) {
$scope.content(args.file);
console.log(args.file);
});
});
此代码不起作用...是否有解决方案?错误在哪里?
来自您发布的代码,它似乎缺少一个ng-app声明 - 将ng-app放在body标签上,如下所示:
– oliveromahonyI在这里省略充足,因为它服务 – Ragnarr