我有:
1)ftp上的文件名为(@ track.path.path),如" b573c8150fbc0dc6f5de6a9d4db79277_128.mp3"等
2)在数据库中,每个文件的名称都很好(@ track.fname),如" U2 _-_ Ill_go_crazy_if_i_dont_go_crazy_tonight.mp3"
问题: 有没有办法在下载时将DB命名为ftp文件?
music_controller.rb:
def download
@track = Mp3File.find(params[:id])
case params[:bitrate]
when "64"
send_file(@track.path.path + "_128.mp3")
when "128"
send_file(@track.path.path + "_64.mp3")
when "32"
send_file(@track.path.path + "_32.mp3")
end
end
我希望用户有一个好名字" U2 _-_ Ill_go_crazy_if_i_dont_go_crazy_tonight.mp3"下载后在他的设备上
答案 0 :(得分:1)
send_file
采用:filename
选项来完成此操作。
答案 1 :(得分:0)
无论网址如何,您都可以设置the Content-Disposition
header来设置文件名:
def download
@track = Mp3File.find(params[:id])
headers['Content-Disposition'] = 'attachment; filename="#{@track.fname}"'
# ...
end