From 92792ff6ba3d5ca188d1fba8a9a07e1fcdb0c0f3 Mon Sep 17 00:00:00 2001 From: jmal Date: Tue, 26 Mar 2024 17:56:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=9F=90=E4=BA=9B?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/SimpleUploader/globalUploader.vue | 7 ++++--- src/utils/path.js | 12 ++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/components/SimpleUploader/globalUploader.vue b/src/components/SimpleUploader/globalUploader.vue index 26553bd..73a02ec 100755 --- a/src/components/SimpleUploader/globalUploader.vue +++ b/src/components/SimpleUploader/globalUploader.vue @@ -119,6 +119,7 @@ import SparkMD5 from 'spark-md5' import api from '@/api/file-api' import {formatNetSpeed} from '@/utils/number' import {mapState} from 'vuex' +import {encodeIfNeeded} from "@/utils/path"; export default { components: {}, @@ -334,10 +335,10 @@ export default { // 上传文件夹 api.uploadFolder({ isFolder: true, - folderPath: encodeURI(folder.parent.path), - filename: encodeURI(folder.name), + folderPath: encodeIfNeeded(folder.parent.path), + filename: encodeIfNeeded(folder.name), folder: this.$route.query.folder, - currentDirectory: encodeURI(this.params.currentDirectory), + currentDirectory: encodeIfNeeded(this.params.currentDirectory), username: this.params.username, userId: this.params.userId }).then(() => { diff --git a/src/utils/path.js b/src/utils/path.js index 39aec8e..e733040 100644 --- a/src/utils/path.js +++ b/src/utils/path.js @@ -26,3 +26,15 @@ export function removePath() { Cookies.remove(pathListKey) return Cookies.remove(pathKey) } + +function isEncoded(str) { + return /%[0-9A-Fa-f]{2}/.test(str); +} + +export function encodeIfNeeded(str) { + if (isEncoded(str)) { + return str; + } else { + return encodeURI(str); + } +}