最近做到一个需求,要求根据网络地址,来判断这个资源是不是图片类型,vue的上传组件,有个钩子函数可以通过文件类型来判断,但是如何根据地址如何判断呢?网络地址有的会直接带有文件后缀名,如.jpg,那对于没有带文件类型的地址,该如何正确判断?
//在vue项目中使用
// 根据图片地址判断是否是图片资源
getPromises(src) {
let img = document.createElement("img");
img.src = src;
return new Promise(function (resolve, reject) {
img.onerror = () => {
resolve('undefined');
};
img.onload = () => {
resolve(src);
};
});
},
var it = new Array();
it.push(this.imagePath);
Promise.all(it.map(m => this.getPromises(m))).then(data =>{
console.log(data)
})
//记得调用方法getPromises()方法,最后打印结果是undefined的就不是图片
对任务网络地址都适用,但是这个方法无法识别本地图片地址,浏览器由于安全策略问题会报错,希望有知道的大佬告知一下