0👍
I don’t know if your minResolution
could be async, but it is the only way, with an async validation
export async function minResolution(width, height, error) {
return file => ( file && (await check_image_dimensions(file, width, height) === true)) || error
}
function check_image_dimensions(file, width , height) {
const reader = new FileReader();
reader.readAsDataURL(file);
return new Promise(resolve => {
reader.onload = evt => {
const img = new Image();
img.onload = () => {
resolve(img.width >= width && img.height >= height);
}
img.src = evt.target.result;
}
});
}
Source:stackexchange.com