优化Upload图片分辨率验证
parent
c7cbbb84c6
commit
043daac375
|
|
@ -73,17 +73,31 @@ const Upload = (props) => {
|
||||||
|
|
||||||
// 验证图片分辨率
|
// 验证图片分辨率
|
||||||
if (ratioArr.length === 2 && file.type?.startsWith("image/")) {
|
if (ratioArr.length === 2 && file.type?.startsWith("image/")) {
|
||||||
const img = new Image();
|
const validateImageResolution = (imageUrl) => {
|
||||||
img.src = file.url || file.thumbUrl;
|
const img = new Image();
|
||||||
img.onload = () => {
|
img.onload = () => {
|
||||||
if (img.width !== +ratioArr[0] || img.height !== +ratioArr[1]) {
|
if (img.width !== +ratioArr[0] || img.height !== +ratioArr[1]) {
|
||||||
message.warning(`只能上传${ratio}分辨率的图片`);
|
message.warning(`只能上传${ratio}分辨率的图片`);
|
||||||
const filtered = fileList.filter(item => item.uid !== file.uid);
|
const filtered = fileList.filter(item => item.uid !== file.uid);
|
||||||
onChange?.(filtered);
|
onChange?.(filtered);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
onChange?.(fileList);
|
onChange?.(fileList);
|
||||||
|
};
|
||||||
|
img.src = imageUrl;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 如果有现成的URL则直接使用,否则使用FileReader读取本地文件
|
||||||
|
if (file.url) {
|
||||||
|
validateImageResolution(file.url);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
const reader = new FileReader();
|
||||||
|
reader.onload = (e) => {
|
||||||
|
validateImageResolution(e.target.result);
|
||||||
|
};
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
onChange?.(fileList);
|
onChange?.(fileList);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue