使用 Angular JS 选择文件 [英] File pick with Angular JS
本文介绍了使用 Angular JS 选择文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想用 AngularJS 获取一个文件:
HTML:
<button class="btn" ng-click="isCollapsed = !isCollapsed">切换折叠</button><input type="file" ng-model="filepick" ng-change="pickimg()" 多个/><output id="list"></output>
javascript:
angular.module('plunker', ['ui.bootstrap']);函数 TopMenuCtrl($scope) {$scope.pickimg = function() {警报('a');};}
如何在 AngularJS pickimg
函数上绑定输入文件 onchange
动作?我如何操作之后上传的文件?
解决方案
Angular 尚不支持 ng-change for input[type=file] 所以你有自己滚动实施.
首先,在 HTML 中,为 onchange 定义 Javascript,如下所示:
然后在你的 Angular 控制器代码中,定义函数:
$scope.file_changed = function(element) {$scope.$apply(function(scope) {var photofile = element.files[0];var reader = new FileReader();reader.onload = function(e) {//处理加载};reader.readAsDataURL(照片文件);});};
I would like to pick up a file with AngularJS:
HTML:
<div ng-controller="TopMenuCtrl">
<button class="btn" ng-click="isCollapsed = !isCollapsed">Toggle collapse</button>
<input type="file" ng-model="filepick" ng-change="pickimg()" multiple />
<output id="list"></output>
</div>
javascript:
angular.module('plunker', ['ui.bootstrap']);
function TopMenuCtrl($scope) {
$scope.pickimg = function() {
alert('a');
};
}
How can I bind the input file onchange
action on the AngularJS pickimg
function?
And how can i manipulate the files uploaded after?
解决方案
Angular doesn't yet support ng-change for input[type=file] so you have to roll onchange implementation yourself.
First, in the HTML, define Javascript for onchange as follows:
<input ng-model="photo"
onchange="angular.element(this).scope().file_changed(this)"
type="file" accept="image/*" />
And then in your Angular controller code, define the function:
$scope.file_changed = function(element) {
$scope.$apply(function(scope) {
var photofile = element.files[0];
var reader = new FileReader();
reader.onload = function(e) {
// handle onload
};
reader.readAsDataURL(photofile);
});
};
这篇关于使用 Angular JS 选择文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文