您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

角度js-isImage()-通过URL检查是否图像

角度js-isImage()-通过URL检查是否图像

我认为最好的javascript方法是将HTMLImageElement对象与延迟对象一起使用:

function isImage(src) {

    var deferred = $q.defer();

    var image = new Image();
    image.onerror = function() {
        deferred.resolve(false);
    };
    image.onload = function() {
        deferred.resolve(true);
    };
    image.src = src;

    return deferred.promise;
}

用法

isImage('http://asd.com/asd/asd.jpg').then(function(test) {
    console.log(test);
});

使用HTMLImageElement具有一些好处:不仅测试文件可下载,而且是可以通过img标记显示的有效图像资源。

我将此代码包装在简单的服务中进行测试,它似乎可以工作:

app.controller('MainCtrl', function($scope, Utils) {
    $scope.test = function() {
        Utils.isImage($scope.source).then(function(result) {
            $scope.result = result;
        });
    };
});

app.factory('Utils', function($q) {
    return {
        isImage: function(src) {
            // ... above code for isImage function
        }
    };
});
其他 2022/1/1 18:14:29 有532人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶