AngularJS - 使用 FileReader API 上传和显示图像(多个文件)

标签 angularjs file upload filereader

这个问题在这里已经有了答案:





Directive to get files input with ng-model [duplicate]

(1 个回答)



ng-model for `<input type="file"/>` (with directive DEMO)

(13 个回答)


4年前关闭。




我使用以下示例,它完美运行,但我想同时上传多个图像。

http://jsfiddle.net/kkhxsgLu/2/

<div ng-controller="MyCtrl">

<div ng-repeat="step in stepsModel">
    <img class="thumb" ng-src="{{step}}" />
</div>

<input type='file' ng-model-instant onchange="angular.element(this).scope().imageUpload(this)" />
 $scope.stepsModel = [];

$scope.imageUpload = function(element){
    var reader = new FileReader();
    reader.onload = $scope.imageIsLoaded;
    reader.readAsDataURL(element.files[0]);
}

$scope.imageIsLoaded = function(e){
    $scope.$apply(function() {
        $scope.stepsModel.push(e.target.result);
    });
}

谢谢你帮助我,我从 angularjs 开始

最佳答案

解决方案:

http://jsfiddle.net/orion514/kkhxsgLu/136/

:)

<div ng-controller="MyCtrl">

<div ng-repeat="step in stepsModel">
    <img class="thumb" ng-src="{{step}}" />
</div>

<input type='file' ng-model-instant 
       onchange="angular.element(this).scope().imageUpload(event)"
       multiple />
$scope.stepsModel = [];

$scope.imageUpload = function(event){
     var files = event.target.files; //FileList object

     for (var i = 0; i < files.length; i++) {
         var file = files[i];
             var reader = new FileReader();
             reader.onload = $scope.imageIsLoaded; 
             reader.readAsDataURL(file);
     }
}

$scope.imageIsLoaded = function(e){
    $scope.$apply(function() {
        $scope.stepsModel.push(e.target.result);
    });
}

关于AngularJS - 使用 FileReader API 上传和显示图像(多个文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31665305/

相关文章:

javascript - 数组中的 angularjs 对象上没有 $$hashKey

c - 在C中通过套接字发送二进制文件(从Windows到Linux)

javascript - Ng-隐藏在 ng-click 元素之外

angularjs - 如何在没有指令的情况下将 JQuery 与 Angular 一起使用?

c - PPM扫描和打印

file - 不能用Nginx(反向代理+SSL协商)和Tomcat上传大文件

php - Twitter API -> 使用 php 更新个人资料背景图像

python - 在 Django 中上传时调整两个图像的大小

javascript - 使用defineProperty扩展,私有(private)变量放在哪里?

C 程序声称文件不存在,但它是吗?