Skip to content

Commit c0d0f53

Browse files
fit: 文件限制
1 parent 1a65ce3 commit c0d0f53

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

ui/src/utils/utils.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,14 @@ export function fileType(name: string) {
3939
获得文件对应图片
4040
*/
4141
export function getImgUrl(name: string) {
42-
const typeList = ['txt', 'pdf', 'doc', 'csv', 'md']
43-
const type = typeList.includes(fileType(name)) ? fileType(name) : 'unknow'
42+
const type = isRightType(name) ? fileType(name) : 'unknow'
4443
return new URL(`../assets/${type}-icon.svg`, import.meta.url).href
4544
}
45+
// 是否是白名单后缀
46+
export function isRightType(name: string) {
47+
const typeList = ['txt', 'pdf', 'doc', 'csv', 'md']
48+
return typeList.includes(fileType(name))
49+
}
4650

4751
/*
4852
从指定数组中过滤出对应的对象

ui/src/views/dataset/component/UploadComponent.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
<script setup lang="ts">
6262
import { ref, reactive, onUnmounted, onMounted, computed, watch } from 'vue'
6363
import type { UploadFile, UploadFiles } from 'element-plus'
64-
import { filesize, getImgUrl } from '@/utils/utils'
64+
import { filesize, getImgUrl, isRightType } from '@/utils/utils'
6565
import { MsgError } from '@/utils/message'
6666
import useStore from '@/stores'
6767
const { dataset } = useStore()
@@ -91,6 +91,11 @@ const filehandleChange = (file: any, fileList: UploadFiles) => {
9191
fileList.splice(-1, 1) //移除当前超出大小的文件
9292
return false
9393
}
94+
if (!isRightType(file?.name)) {
95+
MsgError('文件格式不支持')
96+
fileList.splice(-1, 1)
97+
return false
98+
}
9499
}
95100
96101
const onExceed = () => {

0 commit comments

Comments
 (0)