diff --git a/apps/web-antd/src/components/upload/file-upload.vue b/apps/web-antd/src/components/upload/file-upload.vue index 4fa56652e..42cad7268 100644 --- a/apps/web-antd/src/components/upload/file-upload.vue +++ b/apps/web-antd/src/components/upload/file-upload.vue @@ -10,11 +10,10 @@ import { computed, ref, toRefs, watch } from 'vue'; import { IconifyIcon } from '@vben/icons'; import { $t } from '@vben/locales'; -import { isFunction, isObject, isString } from '@vben/utils'; +import { checkFileType, isFunction, isObject, isString } from '@vben/utils'; import { Button, message, Upload } from 'ant-design-vue'; -import { checkFileType } from './helper'; import { UploadResultStatus } from './typing'; import { useUpload, useUploadType } from './use-upload'; diff --git a/apps/web-antd/src/components/upload/helper.ts b/apps/web-antd/src/components/upload/helper.ts deleted file mode 100644 index 3b7999963..000000000 --- a/apps/web-antd/src/components/upload/helper.ts +++ /dev/null @@ -1,8 +0,0 @@ -export function checkFileType(file: File, accepts: string[]) { - if (!accepts || accepts.length === 0) { - return true; - } - const newTypes = accepts.join('|'); - const reg = new RegExp(`${String.raw`\.(` + newTypes})$`, 'i'); - return reg.test(file.name); -} diff --git a/apps/web-ele/src/components/upload/helper.ts b/apps/web-ele/src/components/upload/helper.ts deleted file mode 100644 index 3b7999963..000000000 --- a/apps/web-ele/src/components/upload/helper.ts +++ /dev/null @@ -1,8 +0,0 @@ -export function checkFileType(file: File, accepts: string[]) { - if (!accepts || accepts.length === 0) { - return true; - } - const newTypes = accepts.join('|'); - const reg = new RegExp(`${String.raw`\.(` + newTypes})$`, 'i'); - return reg.test(file.name); -} diff --git a/apps/web-naive/src/components/upload/file-upload.vue b/apps/web-naive/src/components/upload/file-upload.vue index c76dccfbc..b1556de49 100644 --- a/apps/web-naive/src/components/upload/file-upload.vue +++ b/apps/web-naive/src/components/upload/file-upload.vue @@ -9,11 +9,10 @@ import { computed, ref, toRefs, watch } from 'vue'; import { IconifyIcon } from '@vben/icons'; import { $t } from '@vben/locales'; -import { isFunction, isObject, isString } from '@vben/utils'; +import { checkFileType, isFunction, isObject, isString } from '@vben/utils'; import { NButton, NUpload, useMessage } from 'naive-ui'; -import { checkFileType } from './helper'; import { useUpload, useUploadType } from './use-upload'; defineOptions({ name: 'FileUpload', inheritAttrs: false }); diff --git a/apps/web-naive/src/components/upload/helper.ts b/apps/web-naive/src/components/upload/helper.ts deleted file mode 100644 index 3b7999963..000000000 --- a/apps/web-naive/src/components/upload/helper.ts +++ /dev/null @@ -1,8 +0,0 @@ -export function checkFileType(file: File, accepts: string[]) { - if (!accepts || accepts.length === 0) { - return true; - } - const newTypes = accepts.join('|'); - const reg = new RegExp(`${String.raw`\.(` + newTypes})$`, 'i'); - return reg.test(file.name); -} diff --git a/apps/web-tdesign/src/components/upload/file-upload.vue b/apps/web-tdesign/src/components/upload/file-upload.vue index 668197711..d99944597 100644 --- a/apps/web-tdesign/src/components/upload/file-upload.vue +++ b/apps/web-tdesign/src/components/upload/file-upload.vue @@ -13,13 +13,18 @@ import { computed, ref, toRefs, watch } from 'vue'; import { IconifyIcon } from '@vben/icons'; import { $t } from '@vben/locales'; -import { isFunction, isNumber, isObject, isString } from '@vben/utils'; +import { + checkFileType, + isFunction, + isNumber, + isObject, + isString, +} from '@vben/utils'; import { Button, Upload } from 'tdesign-vue-next'; import { message } from '#/adapter/tdesign'; -import { checkFileType } from './helper'; import { UploadResultStatus } from './typing'; import { useUpload, useUploadType } from './use-upload'; diff --git a/apps/web-tdesign/src/components/upload/helper.ts b/apps/web-tdesign/src/components/upload/helper.ts deleted file mode 100644 index 3b7999963..000000000 --- a/apps/web-tdesign/src/components/upload/helper.ts +++ /dev/null @@ -1,8 +0,0 @@ -export function checkFileType(file: File, accepts: string[]) { - if (!accepts || accepts.length === 0) { - return true; - } - const newTypes = accepts.join('|'); - const reg = new RegExp(`${String.raw`\.(` + newTypes})$`, 'i'); - return reg.test(file.name); -} diff --git a/packages/@core/base/shared/src/utils/upload.ts b/packages/@core/base/shared/src/utils/upload.ts index 7e1279540..a1a5dc886 100644 --- a/packages/@core/base/shared/src/utils/upload.ts +++ b/packages/@core/base/shared/src/utils/upload.ts @@ -107,6 +107,7 @@ export const defaultImageAccepts = [ * 判断文件是否为图片 * * @param filename 文件名 + * @param accepts 支持的文件类型 * @returns 是否为图片 */ export function isImage( @@ -120,6 +121,22 @@ export function isImage( return accepts.includes(ext); } +/** + * 判断文件是否为指定类型 + * + * @param file 文件 + * @param accepts 支持的文件类型 + * @returns 是否为指定类型 + */ +export function checkFileType(file: File, accepts: string[]) { + if (!accepts || accepts.length === 0) { + return true; + } + const newTypes = accepts.join('|'); + const reg = new RegExp(`${String.raw`\.(` + newTypes})$`, 'i'); + return reg.test(file.name); +} + /** * 格式化文件大小 *