Ruby on rails Firefox在下载时不显示PDF文件扩展名
我正在使用rails将pdf发送回客户端,Firefox中的文件扩展名没有显示: 我的rails代码如下所示:Ruby on rails Firefox在下载时不显示PDF文件扩展名,ruby-on-rails,ruby-on-rails-4,firefox,pdf,download,Ruby On Rails,Ruby On Rails 4,Firefox,Pdf,Download,我正在使用rails将pdf发送回客户端,Firefox中的文件扩展名没有显示: 我的rails代码如下所示: send_data( pdf, :type => "application/pdf", :disposition => "attachment; filename=transcript_#{Time.zone.now.strftime('%m-%d-%Y %H:%M')}.pdf", # :filename => "t
send_data(
pdf,
:type => "application/pdf",
:disposition => "attachment; filename=transcript_#{Time.zone.now.strftime('%m-%d-%Y %H:%M')}.pdf",
# :filename => "transcript_#{Time.zone.now.strftime('%m-%d-%Y %H:%M')}.pdf"
)
我一直试图通过组合使用:filename
和:disposition
键来设置文件名,以便在浏览器中显示正确的文件名。:filename
键在Firefox中似乎不起作用,而:disposition
键给出了上面的图片
要在Firefox中显示pdf文件扩展名,我需要做哪些更改?空间(时间格式内部)正在删除文件名。您需要将文件名用引号括起来
试试这个:
:disposition => "attachment; filename=\"transcript_#{Time.zone.now.strftime('%m-%d-%Y %H:%M')}.pdf\"",
^^ ^^
此处解释了此行为:
关键是
当浏览器必须考虑国际化文件名的可能性时,[P>](空间)在解析文件名的标题时会产生歧义。由于Internet Explorer不必担心这一点,它将解析文件名直到行尾。Mozilla不会
这肯定会奏效的 send_data pdf.render,文件名:'transcript_35;{Time.zone.now.strftime(“%m-%d-%Y%H:%m”)}.pdf', 键入:“application/pdf”,
性情:“附件”chrome都不介意,我认为mozilla应该改变这种行为