远程安装时可以覆盖运行中的文件

This commit is contained in:
GoEdgeLab
2023-07-07 15:59:51 +08:00
parent de9c6fa515
commit 47f22087c4
2 changed files with 8 additions and 4 deletions

View File

@@ -52,7 +52,7 @@ func main() {
return return
} }
unzip := helpers.NewUnzip(zipPath, targetPath) var unzip = helpers.NewUnzip(zipPath, targetPath)
err := unzip.Run() err := unzip.Run()
if err != nil { if err != nil {
stderr("ERROR: " + err.Error()) stderr("ERROR: " + err.Error())

View File

@@ -37,8 +37,8 @@ func (this *Unzip) Run() error {
}() }()
for _, file := range reader.File { for _, file := range reader.File {
info := file.FileInfo() var info = file.FileInfo()
target := this.targetDir + "/" + file.Name var target = this.targetDir + "/" + file.Name
// 目录 // 目录
if info.IsDir() { if info.IsDir() {
@@ -62,7 +62,7 @@ func (this *Unzip) Run() error {
} }
// 文件 // 文件
err := func(file *zip.File, target string) error { err = func(file *zip.File, target string) error {
fileReader, err := file.Open() fileReader, err := file.Open()
if err != nil { if err != nil {
return err return err
@@ -71,6 +71,10 @@ func (this *Unzip) Run() error {
_ = fileReader.Close() _ = fileReader.Close()
}() }()
// remove old
_ = os.Remove(target)
// create new
fileWriter, err := os.OpenFile(target, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, file.FileInfo().Mode()) fileWriter, err := os.OpenFile(target, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, file.FileInfo().Mode())
if err != nil { if err != nil {
return err return err