简体   繁体   English

如何将图像源以角度绑定到文件对象

[英]How to bind image source to file object in angular

I have two elements one file and another image 我有两个元素,一个文件,另一个图像

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

When i select image using file browse, my image object should be updated with the selected image How can i achieve this using angular? 当我使用文件浏览器选择图像时,应使用所选图像更新图像对象,如何使用角度来实现此目的?

Use FileReader for this. 为此使用FileReader。 For example: 例如:

html 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>

code

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 看小提琴

You can use ng-flow 您可以使用ng-flow

Check out Gallery upload from here http://flowjs.github.io/ng-flow/ 从此处http://flowjs.github.io/ng-flow/查看图库上传

Hope this helps you! 希望这对您有所帮助!

Javascript way of doing this is on onchange event is 执行此操作的Javascript方法是onchange事件是

var file = event.target.files[0];
var reader = new FileReader();
reader.onload = function (e) {
    $('#myImg').attr('src', e.target.result);
}
reader.readAsDataURL(file);

I need it in Angular 我在Angular中需要它

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM