图像上传,获取指令中的图像尺寸

时间:2016-08-02 09:40:48

标签: angularjs

我有以下angular-js指令来上传'本地图片:

<?php

$stringArray = [0, '1', 10, '11 2', '20 21', 3];

usort($stringArray, function($a, $b) {

    $a = (int)trim(preg_replace('/\s+/', '', $a));
    $b = (int)trim(preg_replace('/\s+/', '', $b));

    if ($a === $b) {
        return 0;
    }
    return ($a > $b) ? -1 : 1;
});

var_dump($stringArray);
?>

我现在想要获得图像尺寸,但我不知道如何。 我尝试了类似的东西(在行values.push(value)下面):

app.directive('ngFileModel', ['$parse', function ($parse) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            var model = $parse(attrs.ngFileModel);
            var isMultiple = attrs.multiple;
            var modelSetter = model.assign;
            element.bind('change', function () {
                var values = [];
                angular.forEach(element[0].files, function (item) {
                    var value = {
                       // File Name 
                        name: item.name,
                        //File Size 
                        size: item.size,
                        //File URL to view 
                        url: (URL || webkitURL).createObjectURL(item),
                        // File Input Value 
                        _file: item
                    };
                    values.push(value);


                });
                scope.$apply(function () {
                    if (isMultiple) {
                        modelSetter(scope, values);
                    } else {
                        modelSetter(scope, values[0]);
                    }
                });
            });
        }
    };
}]);

但那并没有奏效。我也试过img.onload,但我也没有得到结果。

如何获取图像尺寸?

谢谢!

1 个答案:

答案 0 :(得分:0)

我自己解决了,image.onload是正确的方法:

res41: Array[String] = Array(first_file_sixth_record, second_file_sixth_record, second_file_seventh_record, second_file_eight_record)