Преглед на файлове

Fix the download file name error problem (#896)

link преди 2 години
родител
ревизия
46e146e633
променени са 1 файла, в които са добавени 5 реда и са изтрити 2 реда
  1. 5 2
      route/v2.go

+ 5 - 2
route/v2.go

@@ -4,6 +4,7 @@ import (
 	"log"
 	"net/http"
 	"net/url"
+	"path"
 	"path/filepath"
 	"strconv"
 	"strings"
@@ -138,8 +139,10 @@ func InitV2DocRouter(docHTML string, docYAML string) http.Handler {
 }
 func InitFile() http.Handler {
 	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-		path := r.URL.Query().Get("path")
-		http.ServeFile(w, r, path)
+		filePath := r.URL.Query().Get("path")
+		fileName := path.Base(filePath)
+		w.Header().Add("Content-Disposition", "attachment; filename*=utf-8''"+url.PathEscape(fileName))
+		http.ServeFile(w, r, filePath)
 	})
 }