fix: fix upload folder is wrong (#1611)

This commit is contained in:
CorrectRoadH 2024-01-17 17:32:19 +08:00 committed by GitHub
parent 17fa7868a4
commit 54a115ae89
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 1 deletions

View File

@ -59,6 +59,7 @@ func (c *CasaOS) PostUploadFile(ctx echo.Context) error {
identifier := ctx.FormValue("identifier")
fileName := ctx.FormValue("filename")
relativePath := ctx.FormValue("relativePath")
bin, err := ctx.FormFile("file")
if err != nil {
@ -74,6 +75,7 @@ func (c *CasaOS) PostUploadFile(ctx echo.Context) error {
totalChunks,
totalSize,
identifier,
relativePath,
fileName,
bin,
)

View File

@ -5,6 +5,7 @@ import (
"io"
"mime/multipart"
"os"
"path/filepath"
"sync"
"github.com/labstack/echo/v4"
@ -63,6 +64,7 @@ func (s *FileUploadService) UploadFile(
totalChunks int64,
totalSize int64,
identifier string,
relativePath string,
fileName string,
bin *multipart.FileHeader,
) error {
@ -70,7 +72,15 @@ func (s *FileUploadService) UploadFile(
fileInfoTemp, ok := s.uploadStatus.Load(identifier)
var fileInfo *FileInfo
file, err := os.OpenFile(path+"/"+fileName+".tmp", os.O_WRONLY|os.O_CREATE, 0644)
if relativePath != fileName {
// uploaded file is folder
folderPath := filepath.Dir(path + "/" + relativePath)
if _, err := os.Stat(folderPath); os.IsNotExist(err) {
os.MkdirAll(folderPath, os.ModePerm)
}
}
file, err := os.OpenFile(path+"/"+relativePath+".tmp", os.O_WRONLY|os.O_CREATE, 0644)
if err != nil {
s.lock.Unlock()
return err