gpt4 book ai didi

javascript - Angular js - isImage() - 通过 url 检查它是否是图像

转载 作者:行者123 更新时间:2023-12-03 08:20:25 25 4
gpt4 key购买 nike

是否可以通过给定的 url 检查图像是否存在并且它是图像资源?

例如:

angular.isImage('http://asd.com/asd/asd.jpg')

或者它只是服务器端的东西?

没有JQUERY,请我没有使用它

最佳答案

我认为最好的 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
}
};
});

演示: http://plnkr.co/edit/u5F6FfO3dEkNSMYV1amo?p=preview

关于javascript - Angular js - isImage() - 通过 url 检查它是否是图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22423057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com