From dfc51cc3f6c2c07753efaec3f3f4b60c123a6e3a Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Tue, 17 Jan 2023 14:16:22 +0800 Subject: [PATCH] refactor(nc-gui): upload multiple files in one call --- .../components/cell/attachment/utils.ts | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/packages/nc-gui/components/cell/attachment/utils.ts b/packages/nc-gui/components/cell/attachment/utils.ts index 78058815a2..7319089307 100644 --- a/packages/nc-gui/components/cell/attachment/utils.ts +++ b/packages/nc-gui/components/cell/attachment/utils.ts @@ -120,6 +120,8 @@ export const [useProvideAttachmentCell, useAttachmentCell] = useInjectionState( const attachmentMeta = typeof column.value?.meta === 'string' ? JSON.parse(column.value.meta) : column.value?.meta + const files: File[] = [] + for (let file of selectedFiles) { // verify number of files if (selectedFiles.length > attachmentMeta.maxNumberOfAttachments) { @@ -145,20 +147,22 @@ export const [useProvideAttachmentCell, useAttachmentCell] = useInjectionState( file = await renameFile(file) - try { - const data = await api.storage.upload( - { - path: [NOCO, project.value.title, meta.value?.title, column.value?.title].join('/'), - }, - { - files: file, - json: '{}', - }, - ) - newAttachments.push(...data) - } catch (e: any) { - message.error(e.message || t('msg.error.internalError')) - } + files.push(file) + } + + try { + const data = await api.storage.upload( + { + path: [NOCO, project.value.title, meta.value?.title, column.value?.title].join('/'), + }, + { + files, + json: '{}', + }, + ) + newAttachments.push(...data) + } catch (e: any) { + message.error(e.message || t('msg.error.internalError')) } updateModelValue(JSON.stringify([...attachments.value, ...newAttachments]))