Browse Source

refactor(nc-gui): upload multiple files in one call

pull/4931/head
Wing-Kam Wong 2 years ago
parent
commit
dfc51cc3f6
  1. 32
      packages/nc-gui/components/cell/attachment/utils.ts

32
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]))

Loading…
Cancel
Save