diff --git a/router/router_download.go b/router/router_download.go index d72cc48..3a61031 100644 --- a/router/router_download.go +++ b/router/router_download.go @@ -52,7 +52,7 @@ func getDownloadBackup(c *gin.Context) { defer f.Close() c.Header("Content-Length", strconv.Itoa(int(st.Size()))) - c.Header("Content-Disposition", "attachment; filename="+st.Name()) + c.Header("Content-Disposition", "attachment; filename="+strconv.Quote(st.Name())) c.Header("Content-Type", "application/octet-stream") bufio.NewReader(f).WriteTo(c.Writer) @@ -96,7 +96,7 @@ func getDownloadFile(c *gin.Context) { } c.Header("Content-Length", strconv.Itoa(int(st.Size()))) - c.Header("Content-Disposition", "attachment; filename="+st.Name()) + c.Header("Content-Disposition", "attachment; filename="+strconv.Quote(st.Name())) c.Header("Content-Type", "application/octet-stream") bufio.NewReader(f).WriteTo(c.Writer) diff --git a/router/router_server_files.go b/router/router_server_files.go index cddcb96..8d4d1a5 100644 --- a/router/router_server_files.go +++ b/router/router_server_files.go @@ -39,7 +39,7 @@ func getServerFileContents(c *gin.Context) { // If a download parameter is included in the URL go ahead and attach the necessary headers // so that the file can be downloaded. if c.Query("download") != "" { - c.Header("Content-Disposition", "attachment; filename="+st.Name()) + c.Header("Content-Disposition", "attachment; filename="+strconv.Quote(st.Name())) c.Header("Content-Type", "application/octet-stream") } defer c.Writer.Flush() diff --git a/router/router_transfer.go b/router/router_transfer.go index 1a4d987..6a3e819 100644 --- a/router/router_transfer.go +++ b/router/router_transfer.go @@ -102,7 +102,7 @@ func getServerArchive(c *gin.Context) { c.Header("X-Checksum", checksum) c.Header("X-Mime-Type", st.Mimetype) c.Header("Content-Length", strconv.Itoa(int(st.Size()))) - c.Header("Content-Disposition", "attachment; filename="+s.Archiver.Name()) + c.Header("Content-Disposition", "attachment; filename="+strconv.Quote(s.Archiver.Name())) c.Header("Content-Type", "application/octet-stream") bufio.NewReader(file).WriteTo(c.Writer)