diff --git a/api/r0/upload.go b/api/r0/upload.go
index 3f911444a139f794889ef6ae76699266fe277b8d..fe42d2051d99446df749aceaa949528e46bce8c9 100644
--- a/api/r0/upload.go
+++ b/api/r0/upload.go
@@ -4,6 +4,7 @@ import (
 	"io"
 	"io/ioutil"
 	"net/http"
+	"path/filepath"
 
 	"github.com/sirupsen/logrus"
 	"github.com/turt2live/matrix-media-repo/api"
@@ -16,7 +17,7 @@ type MediaUploadedResponse struct {
 }
 
 func UploadMedia(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{} {
-	filename := r.URL.Query().Get("filename")
+	filename := filepath.Base(r.URL.Query().Get("filename"))
 	defer r.Body.Close()
 
 	log = log.WithFields(logrus.Fields{