diff --git a/src/components/dialog/UserAddEditDialog.vue b/src/components/dialog/UserAddEditDialog.vue index e732831c..cf42e778 100644 --- a/src/components/dialog/UserAddEditDialog.vue +++ b/src/components/dialog/UserAddEditDialog.vue @@ -82,10 +82,24 @@ function changeAvatar(file: Event) { const fileReader = new FileReader() const { files } = file.target as HTMLInputElement if (files && files.length > 0) { - fileReader.readAsDataURL(files[0]) + const selectedFile = files[0] + const allowedTypes = ['image/jpeg', 'image/png', 'image/gif'] + const maxSize = 800 * 1024 + // 检查文件是否为图片 + if (!allowedTypes.includes(selectedFile.type)) { + $toast.error('上传的文件不符合要求,请重新选择头像'); + return; + } + // 检查文件大小 + if (selectedFile.size > maxSize) { + $toast.error('文件大小不得大于800KB') + return + } + fileReader.readAsDataURL(selectedFile) fileReader.onload = () => { if (typeof fileReader.result === 'string') { currentAvatar.value = fileReader.result + $toast.success('新头像上传成功,待保存后生效!') } } } @@ -289,7 +303,7 @@ onMounted(() => { -

允许 JPG、PNG、GIF 格式, 最大尺寸 800K。

+

允许 JPG、PNG、GIF 格式, 最大尺寸 800KB。

diff --git a/src/views/user/UserProfileView.vue b/src/views/user/UserProfileView.vue index 13b42ba8..f65bb5c0 100644 --- a/src/views/user/UserProfileView.vue +++ b/src/views/user/UserProfileView.vue @@ -73,9 +73,21 @@ const qrCode = ref('') function changeAvatar(file: Event) { const fileReader = new FileReader() const { files } = file.target as HTMLInputElement - if (files && files.length > 0) { - fileReader.readAsDataURL(files[0]) + const selectedFile = files[0] + const allowedTypes = ['image/jpeg', 'image/png', 'image/gif'] + const maxSize = 800 * 1024 + // 检查文件是否为图片 + if (!allowedTypes.includes(selectedFile.type)) { + $toast.error('上传的文件不符合要求,请重新选择头像'); + return; + } + // 检查文件大小 + if (selectedFile.size > maxSize) { + $toast.error('文件大小不得大于800KB') + return + } + fileReader.readAsDataURL(selectedFile) fileReader.onload = () => { if (typeof fileReader.result === 'string') { currentAvatar.value = fileReader.result @@ -285,7 +297,7 @@ watch( -

允许 JPG、PNG、GIF 格式, 最大尺寸 800K。

+

允许 JPG、PNG、GIF 格式, 最大尺寸 800KB。