优化Upload图片分辨率验证
parent
c7cbbb84c6
commit
043daac375
|
|
@ -73,17 +73,31 @@ const Upload = (props) => {
|
|||
|
||||
// 验证图片分辨率
|
||||
if (ratioArr.length === 2 && file.type?.startsWith("image/")) {
|
||||
const img = new Image();
|
||||
img.src = file.url || file.thumbUrl;
|
||||
img.onload = () => {
|
||||
if (img.width !== +ratioArr[0] || img.height !== +ratioArr[1]) {
|
||||
message.warning(`只能上传${ratio}分辨率的图片`);
|
||||
const filtered = fileList.filter(item => item.uid !== file.uid);
|
||||
onChange?.(filtered);
|
||||
return;
|
||||
}
|
||||
onChange?.(fileList);
|
||||
const validateImageResolution = (imageUrl) => {
|
||||
const img = new Image();
|
||||
img.onload = () => {
|
||||
if (img.width !== +ratioArr[0] || img.height !== +ratioArr[1]) {
|
||||
message.warning(`只能上传${ratio}分辨率的图片`);
|
||||
const filtered = fileList.filter(item => item.uid !== file.uid);
|
||||
onChange?.(filtered);
|
||||
return;
|
||||
}
|
||||
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 {
|
||||
onChange?.(fileList);
|
||||
|
|
|
|||
Loading…
Reference in New Issue