javascript - 如何以 Angular 将图像源绑定(bind)到文件对象

标签 javascript angularjs

我有两个元素,一个文件和另一个图像

<input type='file' id='myfile' /><br/> <img id='myImg' >

当我使用文件浏览选择图像时,我的图像对象应该使用所选图像进行更新 我如何使用 Angular 来实现这一点?

最佳答案

为此使用 FileReader。例如:

html

<div ng-app="app" ng-controller="Controller">
    <img ng-src="{{loadedFile}}" alt="" />
    <input type="file" value="load" onchange="angular.element(this).scope().fileLoaded(this)" />
</div>

代码

function Controller($scope) {
    $scope.fileLoaded = function (e) {
        var tgt = e.target || window.event.srcElement,
            files = tgt.files,
            fileReader;

        if (FileReader && files && files.length) {
            var fileReader = new FileReader();
            fileReader.onload = function () {

                $scope.loadedFile = fileReader.result;
                $scope.$apply();
            }
            fileReader.readAsDataURL(files[0]);
        } else {
            // Not supported
        }
    };
});

Look fiddle

关于javascript - 如何以 Angular 将图像源绑定(bind)到文件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27099025/

相关文章:

javascript - ng-init 与 Controller 中的函数,使用 $parent 时哪个是更好的做法?

javascript - 设置 box-sizing 以使用 content-box 后,Slickgrid 单元格边框被剪裁

javascript - 为什么 x.func1 x.fun2 x.func3 函数在 onClick 中不起作用

javascript - 如何使用jquery选择具有两个特定属性的所有元素

javascript - 在 Marionette LayoutView 区域调用 `show`

javascript - 创建今年和去年 Angular 的数组

javascript - 当用户滚动到特定的 div 时运行 javascript 函数

javascript - 如何在日历中为我的案例构建周数据?

javascript - 在 for 循环中等待函数结果

angularjs - Angular JS 中的幻灯片切换