1、检查当前图片路径是全路径还是相对路径,相对路径,则自动补全域名。
// 补全图片路径
export const changeImgUrl = (newUrl) => {
let isChange = newUrl.indexOf('http');
let urlPrefix = 'https://demo.img.com/';
if (isChange > -1) {
return newUrl;
} else if (isChange < 0) {
return urlPrefix + newUrl;
}
};
2、检查上传的图片文件类型是否符合要求(类型手动修改或添加)
// 校验上传图片的文件类型是否符合
export const checkImgType = (event: any) =>{
let fileName = event.target.value.split('.');
if(fileName[fileName.length-1] === 'png' ||
fileName[fileName.length-1] === 'jpg' ||
fileName[fileName.length-1] === 'jpeg' ||
fileName[fileName.length-1] === 'bmp' ||
fileName[fileName.length-1] === 'PNG' ||
fileName[fileName.length-1] === 'JPG' ||
fileName[fileName.length-1] === 'JPEG' ||
fileName[fileName.length-1] === 'BMP'
){
return true;
} else{
alert('请按照格式要求上传头图')
return false;
}
};
3、校验上传的图片大小是否符合规则
// 检查图片的大小
export const checkImgSize = (event: any, size: number) =>{
let file = [];
for(var i=0;i
file.push(event.target.files[i]);
};
var f =file[0]
if(f.size > size * 1024){
alert('请按照格式要求上传头图')
return false;
} else {
return true
}
};
4、检查上传的图片的尺寸大小
// 检查图片的尺寸
export const checkImgWH = (event:any, w:number, h:number) =>{
var f = event.target['files'][0];
var reader = new FileReader();
var width;
var height;
reader.onload = function (e) {
var data = e.target['result'];
//加载图片获取图片真实宽度和高度
var image = new Image();
image.onload = function () {
width = image.width;
height = image.height;
};
image.src = data;
};
reader.readAsDataURL(f);
console.log(width + '======' + height);
if(Number(width) > w){
alert('请按照格式要求上传头图')
return false
}
if(Number(height) > h){
alert('请按照格式要求上传头图')
return false
}
};