diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/file.go | 7 | ||||
-rw-r--r-- | api/post.go | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/api/file.go b/api/file.go index c51a4a046..82fcefc7b 100644 --- a/api/file.go +++ b/api/file.go @@ -553,7 +553,7 @@ func WriteFile(f []byte, path string) *model.AppError { return nil } -func moveFile(oldPath, newPath string) *model.AppError { +func MoveFile(oldPath, newPath string) *model.AppError { if utils.Cfg.FileSettings.DriverName == model.IMAGE_DRIVER_S3 { fileData := make(chan []byte) getFileAndForget(oldPath, fileData) @@ -578,6 +578,11 @@ func moveFile(oldPath, newPath string) *model.AppError { return err } } else if utils.Cfg.FileSettings.DriverName == model.IMAGE_DRIVER_LOCAL { + + if err := os.MkdirAll(filepath.Dir(utils.Cfg.FileSettings.Directory+newPath), 0774); err != nil { + return model.NewLocAppError("moveFile", "api.file.move_file.rename.app_error", nil, err.Error()) + } + if err := os.Rename(utils.Cfg.FileSettings.Directory+oldPath, utils.Cfg.FileSettings.Directory+newPath); err != nil { return model.NewLocAppError("moveFile", "api.file.move_file.rename.app_error", nil, err.Error()) } diff --git a/api/post.go b/api/post.go index 7899145a6..c533ad656 100644 --- a/api/post.go +++ b/api/post.go @@ -1211,7 +1211,7 @@ func DeletePostFilesAndForget(teamId string, post *model.Post) { splitUrl := strings.Split(filename, "/") oldPath := prefix + splitUrl[len(splitUrl)-2] + "/" + splitUrl[len(splitUrl)-1] newPath := prefix + splitUrl[len(splitUrl)-2] + "/deleted_" + splitUrl[len(splitUrl)-1] - moveFile(oldPath, newPath) + MoveFile(oldPath, newPath) } }() |