Loading

[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))
posted @ 2022-06-07 00:42  芒果和小猫  阅读(269)  评论(0编辑  收藏  举报