|
@@ -5,6 +5,7 @@ import (
|
|
|
"encoding/hex"
|
|
"encoding/hex"
|
|
|
"encoding/json"
|
|
"encoding/json"
|
|
|
"fmt"
|
|
"fmt"
|
|
|
|
|
+ "io"
|
|
|
"os"
|
|
"os"
|
|
|
"rtu_linux_services/servicelib"
|
|
"rtu_linux_services/servicelib"
|
|
|
"strings"
|
|
"strings"
|
|
@@ -61,5 +62,27 @@ func downloadFtpUpgradePackage(ctx context.Context, u *servicelib.UpgradeURL, lo
|
|
|
|
|
|
|
|
defer os.Remove(file)
|
|
defer os.Remove(file)
|
|
|
|
|
|
|
|
- return os.Rename(file, localFile)
|
|
|
|
|
|
|
+ src, err := os.Open(file)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+ defer src.Close()
|
|
|
|
|
+
|
|
|
|
|
+ dst, err := os.Create(localFile)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if _, err := io.Copy(dst, src); err != nil {
|
|
|
|
|
+ dst.Close()
|
|
|
|
|
+ _ = os.Remove(localFile)
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if err := dst.Close(); err != nil {
|
|
|
|
|
+ _ = os.Remove(localFile)
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return nil
|
|
|
}
|
|
}
|