[HTTP] 文件下載-中文名的處理

在利用 python HTTP 下載文件的時候(如 Django),遇到文件名是中文的時候會遇到一些問題,比如亂碼等,在這裏記錄一下解決版本,和使用的編程語言沒有關係,關鍵是要把 Content-Disposition 給設置一下。需要將中文名進行 url編碼,在 python 中可以利用 urllib.parsequote函數

from urllib.parse import quote
file_name = quote(file_name)
response["Content-Disposition"] = f"attachment;filename*=utf-8''{file_name}"

或者在 go 中可以利用 url 庫的 QueryEscape 來將名字進行編碼

name = url.QueryEscape(name)
c.Response.Header.Set("Content-disposition", fmt.Sprintf("attachment;filename*=utf-8''%s", name))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章