From f5fcbcd87a0f8cdef41ab8c8fc60ab220efa39ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=98=AD?= <81747598+lan-yonghui@users.noreply.github.com> Date: Thu, 11 Sep 2025 13:41:29 +0800 Subject: [PATCH] fix: Fix the decompression issue of TGZ files (#10338) --- agent/utils/files/file_op.go | 2 +- agent/utils/files/fileinfo.go | 1 + frontend/src/views/host/file-management/index.vue | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/agent/utils/files/file_op.go b/agent/utils/files/file_op.go index c8f1717db..37aa1ecec 100644 --- a/agent/utils/files/file_op.go +++ b/agent/utils/files/file_op.go @@ -588,7 +588,7 @@ func getFormat(cType CompressType) archiver.CompressedArchive { switch cType { case Tar: format.Archival = archiver.Tar{} - case TarGz, Gz: + case TarGz, Gz, Tgz: format.Compression = archiver.Gz{} format.Archival = archiver.Tar{} case SdkTarGz: diff --git a/agent/utils/files/fileinfo.go b/agent/utils/files/fileinfo.go index 7022544ad..1c4a2786c 100644 --- a/agent/utils/files/fileinfo.go +++ b/agent/utils/files/fileinfo.go @@ -463,6 +463,7 @@ const ( TarBz2 CompressType = "tar.bz2" Tar CompressType = "tar" TarGz CompressType = "tar.gz" + Tgz CompressType = "tgz" Xz CompressType = "xz" TarXz CompressType = "tar.xz" SdkZip CompressType = "sdkZip" diff --git a/frontend/src/views/host/file-management/index.vue b/frontend/src/views/host/file-management/index.vue index f07215113..13e0955c0 100644 --- a/frontend/src/views/host/file-management/index.vue +++ b/frontend/src/views/host/file-management/index.vue @@ -688,7 +688,7 @@ import VscodeOpenDialog from '@/components/vscode-open/index.vue'; import { debounce } from 'lodash-es'; import TerminalDialog from './terminal/index.vue'; import { Dashboard } from '@/api/interface/dashboard'; -import { CompressExtension } from '@/enums/files'; +import { CompressExtension, CompressType } from '@/enums/files'; import type { TabPaneName } from 'element-plus'; const globalStore = GlobalStore(); @@ -1190,6 +1190,9 @@ const openDeCompress = (item: File.File) => { if (CompressExtension[Mimetypes.get(item.mimeType)] != item.extension) { fileDeCompress.type = getEnumKeyByValue(item.extension); } + if (item.name.endsWith('.tar.gz') || item.name.endsWith('.tgz')) { + fileDeCompress.type = CompressType.TarGz; + } fileDeCompress.name = item.name; fileDeCompress.path = item.path;