From 750ea58845f49bf2ab3b48a61963db06ca90b126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=8C=E8=90=8C=E5=93=92=E8=B5=AB=E8=90=9D?= Date: Mon, 27 Feb 2023 11:48:00 +0800 Subject: [PATCH] :sparkles: Feature: folder structure can be keeped when uploading folders --- src/renderer/manage/pages/bucketPage.vue | 35 ++++++++--- src/renderer/manage/pages/manageSetting.vue | 66 ++++++++++++++++++++- 2 files changed, 93 insertions(+), 8 deletions(-) diff --git a/src/renderer/manage/pages/bucketPage.vue b/src/renderer/manage/pages/bucketPage.vue index 136fdd7..046cd83 100644 --- a/src/renderer/manage/pages/bucketPage.vue +++ b/src/renderer/manage/pages/bucketPage.vue @@ -521,7 +521,7 @@ https://www.baidu.com/img/bd_logo1.png" :underline="false" :type="item.checked ? 'primary' : 'info'" > - {{ formatFileName(item.fileName ?? '', 10) }} + {{ formatFileName(item.fileName ?? '', 8) }} @@ -689,11 +689,18 @@ https://www.baidu.com/img/bd_logo1.png" +
('grid') +const isUploadKeepDirStructure = ref(manageStore.config.settings.isUploadKeepDirStructure ?? true) const showCustomUrlSelectList = computed(() => ['tcyun', 'aliyun', 'qiniu', 'github'].includes(currentPicBedName.value)) @@ -1320,6 +1328,11 @@ const downloadedTaskList = computed(() => downloadTaskList.value.filter(item => const isAutoCustomUrl = computed(() => manageStore.config.picBed[configMap.alias].isAutoCustomUrl === undefined ? true : manageStore.config.picBed[configMap.alias].isAutoCustomUrl) +function handleUploadKeepDirChange (val: any) { + saveConfig('settings.isUploadKeepDirStructure', !!val) + manageStore.refreshConfig() +} + function handleViewChange (val: 'list' | 'grid') { showFileStyle.value = val } @@ -1408,7 +1421,8 @@ function webkitReadDataTransfer (dataTransfer: DataTransfer) { uploadPanelFilesList.value.push({ name: item.name, path: item.path, - size: item.size + size: item.size, + relativePath: item.relativePath }) } }) @@ -1530,12 +1544,19 @@ function uploadFiles () { rawName: item.name, path: item.path.replace(/\\/g, '/'), size: item.size, - renamedFileName: renameFileBeforeUpload(item.name) + renamedFileName: renameFileBeforeUpload(item.name), + relativePath: item.relativePath ?? '' }) }) - formateduploadPanelFilesList.forEach((item: any) => { - item.key = currentPrefix.value + item.renamedFileName - }) + if (isUploadKeepDirStructure.value) { + formateduploadPanelFilesList.forEach((item: any) => { + item.key = `${currentPrefix.value}${item.relativePath.substring(0, item.relativePath.lastIndexOf('/'))}/${item.renamedFileName}` + }) + } else { + formateduploadPanelFilesList.forEach((item: any) => { + item.key = currentPrefix.value + item.renamedFileName + }) + } clearTableData() const param = { // tcyun diff --git a/src/renderer/manage/pages/manageSetting.vue b/src/renderer/manage/pages/manageSetting.vue index 2778d67..c5d29b0 100644 --- a/src/renderer/manage/pages/manageSetting.vue +++ b/src/renderer/manage/pages/manageSetting.vue @@ -146,6 +146,54 @@ @change="handelIsForceCustomUrlHttpsChange" /> + + + + + + + +