From 911b5dc1704b372e3287cea4494f4f7df50a6c0c Mon Sep 17 00:00:00 2001 From: Robert Swain Date: Tue, 9 May 2017 20:10:27 +0200 Subject: [PATCH] mediaapi/writers/upload: Generate Content-Disposition if not set --- .../matrix-org/dendrite/mediaapi/writers/upload.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/github.com/matrix-org/dendrite/mediaapi/writers/upload.go b/src/github.com/matrix-org/dendrite/mediaapi/writers/upload.go index 7b6b4876d..363722e8a 100644 --- a/src/github.com/matrix-org/dendrite/mediaapi/writers/upload.go +++ b/src/github.com/matrix-org/dendrite/mediaapi/writers/upload.go @@ -21,6 +21,7 @@ import ( "fmt" "io" "net/http" + "net/url" "os" "path" "strings" @@ -127,12 +128,16 @@ func Upload(req *http.Request, cfg config.MediaAPI, db *storage.Database) util.J }, } - // FIXME: if no Content-Disposition then set - if resErr = r.Validate(cfg.MaxFileSize); resErr != nil { return *resErr } + if len(r.MediaMetadata.UploadName) > 0 { + r.MediaMetadata.ContentDisposition = types.ContentDisposition( + "inline; filename*=utf-8''" + url.PathEscape(string(r.MediaMetadata.UploadName)), + ) + } + logger.WithFields(log.Fields{ "Origin": r.MediaMetadata.Origin, "UploadName": r.MediaMetadata.UploadName,