From 3a5de957bb6002dd01a844813c153fc4b562592b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 10 Mar 2025 14:46:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E8=BF=9C=E7=A8=8BExcel=E6=96=87=E4=BB=B6=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/datasource/provider/ExcelUtils.java | 10 +++++----- .../data/datasource/form/ExcelRemoteDetail.vue | 7 +++++++ .../views/visualized/data/datasource/form/index.vue | 2 ++ .../java/io/dataease/api/ds/vo/ExcelConfiguration.java | 4 ++-- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/ExcelUtils.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/ExcelUtils.java index e2bda89030..0f3e01d08c 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/provider/ExcelUtils.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/ExcelUtils.java @@ -422,8 +422,8 @@ public class ExcelUtils { Map fileNames = new HashMap<>(); if (remoteExcelRequest.getUrl().trim().startsWith("http")) { HttpClientConfig httpClientConfig = new HttpClientConfig(); - if (StringUtils.isNotEmpty(remoteExcelRequest.getUsername()) && StringUtils.isNotEmpty(remoteExcelRequest.getPassword())) { - String authValue = "Basic " + Base64.getUrlEncoder().encodeToString((remoteExcelRequest.getUsername() + ":" + remoteExcelRequest.getPassword()).getBytes()); + if (StringUtils.isNotEmpty(remoteExcelRequest.getUserName()) && StringUtils.isNotEmpty(remoteExcelRequest.getPasswd())) { + String authValue = "Basic " + Base64.getUrlEncoder().encodeToString((new String(Base64.getDecoder().decode(remoteExcelRequest.getUserName())) + ":" + new String(Base64.getDecoder().decode(remoteExcelRequest.getPasswd()))).getBytes()); httpClientConfig.addHeader("Authorization", authValue); } File p = new File(path); @@ -755,9 +755,9 @@ public class ExcelUtils { DEException.throwException("无效的地址!"); } } - if (StringUtils.isNotEmpty(remoteExcelRequest.getUsername()) && StringUtils.isNotEmpty(remoteExcelRequest.getPassword())) { - username = remoteExcelRequest.getUsername(); - password = remoteExcelRequest.getPassword(); + if (StringUtils.isNotEmpty(remoteExcelRequest.getUserName()) && StringUtils.isNotEmpty(remoteExcelRequest.getPasswd())) { + username = new String(Base64.getDecoder().decode(remoteExcelRequest.getUserName())); + password = new String(Base64.getDecoder().decode(remoteExcelRequest.getPasswd())); } int port = 21; String suffix = filePath.substring(filePath.lastIndexOf(".") + 1); diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/ExcelRemoteDetail.vue b/core/core-frontend/src/views/visualized/data/datasource/form/ExcelRemoteDetail.vue index 0b71688969..7c304864e1 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/ExcelRemoteDetail.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/ExcelRemoteDetail.vue @@ -382,6 +382,8 @@ const loadData = () => { remoteExcelForm.value.validate(val => { if (val) { const request = JSON.parse(JSON.stringify(form.value.configuration)) + request.userName = Base64.encode(request.userName) + request.passwd = Base64.encode(request.passwd) request.datasourceId = form.value.id || 0 request.editType = form.value.editType loading.value = true @@ -411,6 +413,11 @@ const loadData = () => { const uploadSuccess = response => { if (!response) { + state.excelData = [] + activeTab.value = '' + tabList.value = [] + Object.assign(sheetObj, cloneDeep(defaultSheetObj)) + ElMessage.warning(response.msg) return } if (response?.code !== 0) { diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/index.vue b/core/core-frontend/src/views/visualized/data/datasource/form/index.vue index a111bf6c24..1f8cc7a382 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/index.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/index.vue @@ -410,6 +410,8 @@ const doValidateDs = request => { let excelRequest = JSON.parse(JSON.stringify(form2.configuration)) excelRequest.datasourceId = form2.id || 0 excelRequest.editType = form2.editType + excelRequest.userName = Base64.encode(request.userName) + excelRequest.passwd = Base64.encode(request.passwd) return loadRemoteFile(excelRequest) .then(() => { ElMessage.success(t('datasource.validate_success')) diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/ds/vo/ExcelConfiguration.java b/sdk/api/api-base/src/main/java/io/dataease/api/ds/vo/ExcelConfiguration.java index 5a220d60aa..90090e37ab 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/ds/vo/ExcelConfiguration.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/ds/vo/ExcelConfiguration.java @@ -8,6 +8,6 @@ import java.util.List; public class ExcelConfiguration { private String url; private List sheets; - private String username; - private String password; + private String userName; + private String passwd; }