升级到 Rails 6 后:Content-Disposition 标头现在添加奇怪的文件名*=UTF-8

Jos*_*eim 8 ruby-on-rails content-disposition

我刚刚从 Rails 5 升级到 6。当发送一些文件下载到客户端时,我现在有一个不同的Content-Disposition

前:

attachment; filename="Report_test_name Product_test_name A4A WCAG20 Project_test_name Project_test_customer 15-2015 v0.5.md"
Run Code Online (Sandbox Code Playgroud)

现在:

attachment; filename="Report_test_name Product_test_name A4A WCAG20 Project_test_name Project_test_customer 15-2015 v0.5.md"; filename*=UTF-8''Report_test_name%20Product_test_name%20A4A%20WCAG20%20Project_test_name%20Project_test_customer%2015-2015%20v0.5.md
Run Code Online (Sandbox Code Playgroud)

所以它将这个有趣的filename*=UTF-8''Report_test_name...东西添加到字符串中。

我认为这只是一个我不知道的新功能。但它到底有什么作用呢?为什么?

小智 0

这是 Rails 6 中添加的一项更改,可以正确编码 Content-Disposition:https://github.com/rails/rails/pull/33829