diff --git a/pkg/dav/thumbnails/thumbnail.go b/pkg/dav/thumbnails/thumbnail.go index b171e52bca..5a0cf39e6b 100644 --- a/pkg/dav/thumbnails/thumbnail.go +++ b/pkg/dav/thumbnails/thumbnail.go @@ -42,11 +42,11 @@ func NewRequest(r *http.Request) (Request, error) { return Request{}, fmt.Errorf("c (etag) is missing in query") } - authorization := r.Header.Get("Authorizaiton") + authorization := r.Header.Get("Authorization") tr := Request{ Filepath: path, - Filetype: filepath.Ext(path), + Filetype: strings.Replace(filepath.Ext(path), ".", "", 1), Etag: etag, Width: width, Height: height, diff --git a/pkg/service/v0/service.go b/pkg/service/v0/service.go index bdd2b15c9b..a139c63d3a 100644 --- a/pkg/service/v0/service.go +++ b/pkg/service/v0/service.go @@ -59,7 +59,7 @@ func (g Webdav) Thumbnail(w http.ResponseWriter, r *http.Request) { c := thumbnails.NewThumbnailService("com.owncloud.api.thumbnails", client.DefaultClient) rsp, err := c.GetThumbnail(r.Context(), &thumbnails.GetRequest{ Filepath: strings.TrimLeft(tr.Filepath, "/"), - Filetype: thumbnails.GetRequest_JPG, + Filetype: extensionToFiletype(tr.Filetype), Etag: tr.Etag, Width: int32(tr.Width), Height: int32(tr.Height), @@ -71,8 +71,12 @@ func (g Webdav) Thumbnail(w http.ResponseWriter, r *http.Request) { return } - w.Header().Set("Content-Type", "image/jpeg") + w.Header().Set("Content-Type", rsp.GetMimetype()) w.WriteHeader(http.StatusOK) - w.Write(rsp.Thumbnail) } + +func extensionToFiletype(ext string) thumbnails.GetRequest_FileType { + val := thumbnails.GetRequest_FileType_value[strings.ToUpper(ext)] + return thumbnails.GetRequest_FileType(val) +}