async getFrontIdCard(file, type, index) {
if (type == 'add') {
let imgSize = file[file.length - 1].file.size;
let imgType = file[file.length - 1].file.type;
console.log(imgType, "imgType")
if (imgType.indexOf('png') == -1 && imgType.indexOf('jpg') == -1 && imgType.indexOf('jpeg') == -1) {
Toast.fail('请上传格式为JPG或PNG,jpeg类型的图片', 2, null, false)
} else {
if (file && file.length > 0) {
this.setState({
uploadLoading: true
})
let fileContent = file[file.length - 1].file;
this.setMiniImg(fileContent, 1)
}
}
} else {
this.setState({
files: [],
idCardFront: ''
})
}
}
setMiniImg = (file, stepInfo) => {
let self = this;
let rate = 0.2;
let reader = new FileReader();
reader.readAsDataURL(file);
let img = new Image();
reader.onload = function (e) {
img.src = e.target.result;
};
img.onload = function () {
let canvas = document.createElement("canvas");
let context = canvas.getContext("2d");
const fileSizeKB = Math.floor(file.size / 1024);
if (fileSizeKB * rate > 3027) {
rate = Math.floor((3027 / fileSizeKB) * 10) / 30;
}
let targetW = (canvas.width = this.width * rate);
let targetH = (canvas.height = this.height * rate);
context.clearRect(0, 0, targetW, targetH);
context.drawImage(img, 0, 0, targetW, targetH);
canvas.toBlob((blob) => {
const newImage = new File([blob], file.name, {
type: file.type,
});
console.log(newImage, newImage.size, "kb");
self.uploadByInfo(newImage, stepInfo)
});
};
}```