2013-02-22 152 views
0

我使用Rails服务文件给用户,像这样:提供没有文件扩展名的可下载文件?

def show 
    headers['Content-Disposition'] = "attachment; filename=\"SIGNATURE\"" 
    headers['Content-Type'] = "text/plain" 
    render :text => 'some text file content' 
end 

SIGNATURESIGNATURE.txt下载时我的浏览器(Chrome OS X上)重命名。

我已经尝试了几种方法,如设置Content-Type: application/unknown并在SIGNATURE之后加上.

如何确保浏览器不附加扩展名到文件名?

这不是一个特别的Rails问题 - 它很可能是我需要的HTTP头响应设置。

回答

1

尝试将内容类型设置为application/octet-stream

+0

其实,我认为这工作。在接受之前请确认:) – 2013-02-22 04:20:42

+0

它是如此工作? :) – 2013-02-25 19:38:55

+0

经过多一点测试,它确实有效。我收到了一个问题,即服务器正在响应'304 Not Modified'并且不发送'Content-Type',即使正在发送'Content-Disposition'。 – 2013-02-25 21:40:57