在typeScript或JavaScript中过滤图像
我正在制作一个表单,在应用程序web中获取用户数据,我可以通过在typeScript或JavaScript中过滤图像,javascript,angularjs,typescript,Javascript,Angularjs,Typescript,我正在制作一个表单,在应用程序web中获取用户数据,我可以通过输入文件添加一个化身。这一个过滤了带有图像扩展名的文件,但怀疑的是我可以用脚本制作一个文件,并给它一个.jpg扩展名 我能分析的图像 const reader = new FileReader(); reader.onload = (event: any) => { console.log(event); this.avatarUrl = event.target.result; co
输入文件添加一个化身。这一个过滤了带有图像扩展名的文件,但怀疑的是我可以用脚本制作一个文件,并给它一个.jpg
扩展名
我能分析的图像
const reader = new FileReader();
reader.onload = (event: any) => {
console.log(event);
this.avatarUrl = event.target.result;
console.log(this.avatarUrl);
};
reader.readAsDataURL(this.avatarSelected);
但是我什么也找不到
要区分真实图像和隐藏的脚本
谢谢您的回答。如果我不理解:您想检测文件是否为图像
特别是在script.js文件重命名为script.jpg的情况下,您希望将其检测为非图像
方法是:
创建一个图像元素
加载它
错误时拒绝/成功时解决
添加超时:如果在X秒后没有加载,请将url更改为假url以停止加载
function testImage(url) {
return new Promise((resolve, reject) => {
let timer;
const image = new Image();
image.onerror = image.onabort = () => {
clearTimeout(timer);
reject("error");
};
image.onload = function() {
clearTimeout(timer);
resolve("success");
};
timer = setTimeout(function() {
img.src = "fakeUrl"; // stop loading
reject("timeout");
}, 3000);
img.src = url;
});
}
太好了。谢谢