feat: 优化文件解压,保留文件更新时间 (#5509)

Refs https://github.com/1Panel-dev/1Panel/issues/5474
This commit is contained in:
zhengkunwang 2024-06-19 22:30:59 +08:00 committed by GitHub
parent 003c87bf00
commit 9f3181b8f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 13 additions and 18 deletions

View File

@ -611,25 +611,15 @@ func (f FileOp) decompressWithSDK(srcFile string, dst string, cType CompressType
}
func (f FileOp) Decompress(srcFile string, dst string, cType CompressType, secret string) error {
if err := f.decompressWithSDK(srcFile, dst, cType); err != nil {
if cType == Tar || cType == Zip || cType == TarGz {
if secret != "" {
shellArchiver, err := NewShellArchiver(TarGz)
if err != nil {
return err
}
return shellArchiver.Extract(srcFile, dst, secret)
} else {
shellArchiver, err := NewShellArchiver(cType)
if err != nil {
return err
}
return shellArchiver.Extract(srcFile, dst, secret)
if cType == Tar || cType == Zip || cType == TarGz {
shellArchiver, err := NewShellArchiver(cType)
if err == nil {
if err = shellArchiver.Extract(srcFile, dst, secret); err == nil {
return nil
}
}
return err
}
return nil
return f.decompressWithSDK(srcFile, dst, cType)
}
func ZipFile(files []archiver.File, dst afero.File) error {

View File

@ -119,6 +119,9 @@ const getContent = (pre: boolean) => {
readReq.id = props.config.id;
readReq.type = props.config.type;
readReq.name = props.config.name;
if (readReq.page < 1) {
readReq.page = 1;
}
ReadByLine(readReq).then((res) => {
if (!end.value && res.data.end) {
lastContent.value = content.value;
@ -178,7 +181,7 @@ const changeTail = (fromOutSide: boolean) => {
if (tailLog.value) {
timer = setInterval(() => {
getContent(false);
}, 1000 * 2);
}, 1000 * 3);
} else {
onCloseLog();
}

View File

@ -72,7 +72,9 @@
</el-table-column>
<el-table-column :label="$t('website.log')" prop="">
<template #default="{ row }">
<el-button @click="openLog(row)" link type="primary">{{ $t('website.check') }}</el-button>
<el-button @click="openLog(row)" link type="primary" :disabled="row.resource == 'local'">
{{ $t('website.check') }}
</el-button>
</template>
</el-table-column>
<el-table-column