diff --git a/src/api/infra/file/index.ts b/src/api/infra/file/index.ts index 374f8c6ec..306c21050 100644 --- a/src/api/infra/file/index.ts +++ b/src/api/infra/file/index.ts @@ -40,7 +40,39 @@ export const createFile = (data: any) => { return request.post({ url: '/infra/file/create', data }) } -// 上传文件 +/** + * 上传文件 + * @deprecated use uploadFile instead + * @param data + */ export const updateFile = (data: any) => { + return uploadFile(data) +} + +// 上传文件 +export const uploadFile = (data: any) => { return request.upload({ url: '/infra/file/upload', data }) } + +/** + * 上传剪贴板中的第一个文件 + * @param event + */ +export const uploadFirstFileItem = (event: ClipboardEvent) => { + const items = event.clipboardData?.items + if (!items) + return new Promise((_, reject) => { + reject(new Error('剪贴板中没有内容')) + }) + + for (let i = 0; i < items.length; i++) { + const item = items[i] + if (item.kind === 'file') { + return uploadFile({ file: item.getAsFile() }) + } + } + + return new Promise((_, reject) => { + reject(new Error('剪贴板中没有文件')) + }) +}