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

时间:2014-11-24 06:28:10

标签: javascript angularjs

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

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

当我使用文件浏览选择图像时,我的图像对象应该使用所选图像进行更新 我怎样才能使用角度来实现这个目标?

3 个答案:

答案 0 :(得分:4)

使用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

答案 1 :(得分:0)

您可以使用ng-flow

从此处查看图库上传http://flowjs.github.io/ng-flow/

希望这能帮到你!

答案 2 :(得分:0)

Javascript方式是on onchange事件是

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

我在Angular中需要它