diff options
Diffstat (limited to 'api4')
-rw-r--r-- | api4/file.go | 8 | ||||
-rw-r--r-- | api4/file_test.go | 8 |
2 files changed, 9 insertions, 7 deletions
diff --git a/api4/file.go b/api4/file.go index 0607c1942..7dc13dafc 100644 --- a/api4/file.go +++ b/api4/file.go @@ -123,7 +123,7 @@ func getFile(c *Context, w http.ResponseWriter, r *http.Request) { return } - data, err := app.ReadFile(info.Path) + data, err := utils.ReadFile(info.Path) if err != nil { c.Err = err c.Err.StatusCode = http.StatusNotFound @@ -165,7 +165,7 @@ func getFileThumbnail(c *Context, w http.ResponseWriter, r *http.Request) { return } - if data, err := app.ReadFile(info.ThumbnailPath); err != nil { + if data, err := utils.ReadFile(info.ThumbnailPath); err != nil { c.Err = err c.Err.StatusCode = http.StatusNotFound } else if err := writeFileResponse(info.Name, THUMBNAIL_IMAGE_TYPE, data, forceDownload, w, r); err != nil { @@ -237,7 +237,7 @@ func getFilePreview(c *Context, w http.ResponseWriter, r *http.Request) { return } - if data, err := app.ReadFile(info.PreviewPath); err != nil { + if data, err := utils.ReadFile(info.PreviewPath); err != nil { c.Err = err c.Err.StatusCode = http.StatusNotFound } else if err := writeFileResponse(info.Name, PREVIEW_IMAGE_TYPE, data, forceDownload, w, r); err != nil { @@ -299,7 +299,7 @@ func getPublicFile(c *Context, w http.ResponseWriter, r *http.Request) { return } - if data, err := app.ReadFile(info.Path); err != nil { + if data, err := utils.ReadFile(info.Path); err != nil { c.Err = err c.Err.StatusCode = http.StatusNotFound } else if err := writeFileResponse(info.Name, info.MimeType, data, true, w, r); err != nil { diff --git a/api4/file_test.go b/api4/file_test.go index c2bc926e1..a2673dc8e 100644 --- a/api4/file_test.go +++ b/api4/file_test.go @@ -71,20 +71,22 @@ func TestUploadFile(t *testing.T) { t.Fatal("file preview path should be set in database") } + date := time.Now().Format("20060102") + // This also makes sure that the relative path provided above is sanitized out - expectedPath := fmt.Sprintf("teams/%v/channels/%v/users/%v/%v/test.png", FILE_TEAM_ID, channel.Id, user.Id, info.Id) + expectedPath := fmt.Sprintf("%v/teams/%v/channels/%v/users/%v/%v/test.png", date, FILE_TEAM_ID, channel.Id, user.Id, info.Id) if info.Path != expectedPath { t.Logf("file is saved in %v", info.Path) t.Fatalf("file should've been saved in %v", expectedPath) } - expectedThumbnailPath := fmt.Sprintf("teams/%v/channels/%v/users/%v/%v/test_thumb.jpg", FILE_TEAM_ID, channel.Id, user.Id, info.Id) + expectedThumbnailPath := fmt.Sprintf("%v/teams/%v/channels/%v/users/%v/%v/test_thumb.jpg", date, FILE_TEAM_ID, channel.Id, user.Id, info.Id) if info.ThumbnailPath != expectedThumbnailPath { t.Logf("file thumbnail is saved in %v", info.ThumbnailPath) t.Fatalf("file thumbnail should've been saved in %v", expectedThumbnailPath) } - expectedPreviewPath := fmt.Sprintf("teams/%v/channels/%v/users/%v/%v/test_preview.jpg", FILE_TEAM_ID, channel.Id, user.Id, info.Id) + expectedPreviewPath := fmt.Sprintf("%v/teams/%v/channels/%v/users/%v/%v/test_preview.jpg", date, FILE_TEAM_ID, channel.Id, user.Id, info.Id) if info.PreviewPath != expectedPreviewPath { t.Logf("file preview is saved in %v", info.PreviewPath) t.Fatalf("file preview should've been saved in %v", expectedPreviewPath) |