fix: Fix the decompression issue of TGZ files (#10338)

This commit is contained in:
2025-09-11 13:41:29 +08:00 committed by GitHub
parent 986bffaf2b
commit f5fcbcd87a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 6 additions and 2 deletions

View file

@ -588,7 +588,7 @@ func getFormat(cType CompressType) archiver.CompressedArchive {
switch cType { switch cType {
case Tar: case Tar:
format.Archival = archiver.Tar{} format.Archival = archiver.Tar{}
case TarGz, Gz: case TarGz, Gz, Tgz:
format.Compression = archiver.Gz{} format.Compression = archiver.Gz{}
format.Archival = archiver.Tar{} format.Archival = archiver.Tar{}
case SdkTarGz: case SdkTarGz:

View file

@ -463,6 +463,7 @@ const (
TarBz2 CompressType = "tar.bz2" TarBz2 CompressType = "tar.bz2"
Tar CompressType = "tar" Tar CompressType = "tar"
TarGz CompressType = "tar.gz" TarGz CompressType = "tar.gz"
Tgz CompressType = "tgz"
Xz CompressType = "xz" Xz CompressType = "xz"
TarXz CompressType = "tar.xz" TarXz CompressType = "tar.xz"
SdkZip CompressType = "sdkZip" SdkZip CompressType = "sdkZip"

View file

@ -688,7 +688,7 @@ import VscodeOpenDialog from '@/components/vscode-open/index.vue';
import { debounce } from 'lodash-es'; import { debounce } from 'lodash-es';
import TerminalDialog from './terminal/index.vue'; import TerminalDialog from './terminal/index.vue';
import { Dashboard } from '@/api/interface/dashboard'; import { Dashboard } from '@/api/interface/dashboard';
import { CompressExtension } from '@/enums/files'; import { CompressExtension, CompressType } from '@/enums/files';
import type { TabPaneName } from 'element-plus'; import type { TabPaneName } from 'element-plus';
const globalStore = GlobalStore(); const globalStore = GlobalStore();
@ -1190,6 +1190,9 @@ const openDeCompress = (item: File.File) => {
if (CompressExtension[Mimetypes.get(item.mimeType)] != item.extension) { if (CompressExtension[Mimetypes.get(item.mimeType)] != item.extension) {
fileDeCompress.type = getEnumKeyByValue(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.name = item.name;
fileDeCompress.path = item.path; fileDeCompress.path = item.path;