15 lines
629 B
TypeScript
15 lines
629 B
TypeScript
const allowedTypes = new Set(['image/jpeg', 'image/png'])
|
|||
|
|
const allowedExtensions = new Set(['jpg', 'jpeg', 'png'])
|
||
|
|
|
||
|
|
export const PRODUCT_IMAGE_MAX_SIZE = 5 * 1024 * 1024
|
||
|
|
|
||
|
|
export function validateProductImageFile(file: Pick<File, 'name' | 'size' | 'type'>) {
|
||
|
|
const extension = file.name.split('.').pop()?.toLowerCase() ?? ''
|
||
|
|
if (!allowedTypes.has(file.type.toLowerCase()) || !allowedExtensions.has(extension)) {
|
||
|
|
return '产品图片仅支持 JPG、JPEG、PNG 格式'
|
||
|
|
}
|
||
|
|
if (file.size <= 0) return '产品图片内容为空'
|
||
|
|
if (file.size > PRODUCT_IMAGE_MAX_SIZE) return '产品图片不能超过 5MB'
|
||
|
|
return ''
|
||
|
|
}
|