浏览器和 Postman 不解码 Content-Disposition header 中的 UTF-8 文件名
Browsers and Postman doesn't decode UTF-8 filename in Content-Disposition header
所以我有这样的情况,我需要 return CSV/excel 文件 POST 请求。问题是 return 不同语言的文件名,例如中文,德文等。据我所知,有两种方法可以做到这一点:
- 到return
Content-Disposition: attachment; filename="привет.txt"
- 到return
Content-Disposition: attachment; filename*=UTF-8''%some%encoded%name.txt"
。
它们都不能与 Postman/Browser 一起使用,但第二个可以与 Swagger 一起使用。第一种方式 return 是这样的 Content-Disposition: attachment; filename="???.txt"
。第二个 returns 完全相同的文件名引号文本(编码为 UTF-8,例如:UTF-8''%some%encoded%name.txt
。我正在使用 Java Spring 堆栈。
所以答案是在 UI 部分通过在 UTF-8'' 符号后对其进行编码来处理 Content-Disposition header。
所以我有这样的情况,我需要 return CSV/excel 文件 POST 请求。问题是 return 不同语言的文件名,例如中文,德文等。据我所知,有两种方法可以做到这一点:
- 到return
Content-Disposition: attachment; filename="привет.txt"
- 到return
Content-Disposition: attachment; filename*=UTF-8''%some%encoded%name.txt"
。
它们都不能与 Postman/Browser 一起使用,但第二个可以与 Swagger 一起使用。第一种方式 return 是这样的 Content-Disposition: attachment; filename="???.txt"
。第二个 returns 完全相同的文件名引号文本(编码为 UTF-8,例如:UTF-8''%some%encoded%name.txt
。我正在使用 Java Spring 堆栈。
所以答案是在 UI 部分通过在 UTF-8'' 符号后对其进行编码来处理 Content-Disposition header。