需求:上传文件,如果是指定格式的图片文件就打开裁剪框,如果是PDF格式文件就直接上传。
需求变更:上传文件,只可以上传指定格式图片文件,如果是PDF格式,则不能上传并且提示。
问题:4.12.2版本后,PDF上传卡不住,一定会上传?(如下图:)
//如果不是指定格式的图片就不打开裁剪框
const beforeCrop = (file) => {
setLoading(true)
if (file.type==='image/png' || file.type==='image/jpg' || file.type==='image/jpeg') {
setLoading(false)
return true
} else {
setLoading(false)
notification.error({
message: 'Error Message',
description: 'File is invalid! Only can accept JPG, PNG, JPEG.',
duration: 10,
top: '10%',
placement: 'topLeft',
})
return false
}
}
github源码库里有讲,beforeCrop和beforeUpload行为一致(如下图1:),按理说只用在beforeCrop里面卡文件格式就行了,但是发现只是不打开图片裁剪框了,但是还是会上传,于是本人又在beforeUpload里面又卡了一次文件格式,代码相同,结果依旧是图片裁剪框未打开,但是文件上传了。。。没办法只好降低antd-img-crop 的版本。。。变更后的需求实现是实现了。