feat: use vben/utils upload

pull/265/head
xingyu4j 2025-11-18 17:33:39 +08:00
parent ec23e8acf6
commit 60854e59f1
8 changed files with 26 additions and 38 deletions

View File

@ -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';

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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 });

View File

@ -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);
}

View File

@ -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';

View File

@ -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);
}

View File

@ -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);
}
/**
*
*