使用AngularJS在移动设备上检测图像上传/捕获事件

时间:2018-02-19 18:19:21

标签: angularjs file-upload event-handling image-uploading onchange

我尝试使用移动设备捕获图像,然后对该文件执行某些逻辑操作。我在桌面上工作正常,但更改事件似乎没有在移动设备上启动(仅通过IOS测试)。

我使用自定义指令来侦听更改事件,因为您无法在文件输入上使用ng-model。

HTML:

<input type="file" accept="image/*" capture="camera" file-change="getFile">

我的控制器:

app.controller("pageCtrl", ["$scope", function ($scope) {

    $scope.getFile = function (e) {
        var file = e.target.files[0]
    };
}]);

我的文件更改指令:

app.directive('fileChange', function() {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            var onChangeHandler = scope.$eval(attrs.fileChange);
            element.on('change', function (e) {
                // never reaches this point on mobile devices
                scope.$apply(function () {
                    onChangeHandler(e);
                })
            });

            element.on('$destroy', function() {
                element.off();
            });
        }
    };
});

0 个答案:

没有答案