response['Content-Disposition'] = 'attachment; filename=%s' % filename
在此Django响应中,标头会引起预期的下载,但文件名中的逗号会使Chromium抛出低级错误,空格导致文件名在下载时发生更改。如何编码文件名,以便下载的文件获得相同的文件名?
将文件名转换为Slug似乎可以解决此问题,但我想使用原始文件名下载。
答案 0 :(得分:2)
Google“ IANA邮件标头字段注册表”,找到https://www.iana.org/assignments/message-headers/message-headers.xhtml。
“内容处置”条目链接到:https://tools.ietf.org/html/rfc6266
字段值可以是令牌,也可以是带引号的字符串,而您想要的是带引号的字符串(这又在RFC 2616中定义(由RFC 7230更新),这将说明如何转义双引号)。
请注意,如果您需要非ASCII字符,则需要使用“文件名*”而不是“文件名”,如RFC 6266中所述。