1

我正尝试使用paperclip-cloudfiles gem为基于Rails 3构建的文件管理系统设置下载链接。 send_file方法在本地托管文件时效果很好,但我需要使用Rackspace Cloudfiles系统。我试过设置响应头文件,它似乎是初始化下载,但文件完成后是空的。Rackspace Cloudfiles Rails send_file替代方案

这里是我的下载功能:

@file = UserFile.find(params[:id]) 

response.headers['Content-type'] = "#{@file.attachment_content_type}" 
response.headers['Content-Disposition'] = "attachment;filename=\"#{@file.attachment_file_name}\"" 
response.headers['Content-Length'] = "#{@file.attachment_file_size}" 
response.headers['Content-Description'] = 'File Transfer' 
response.headers['Location'] = "#{@file.attachment.url(:original, false)}" 

render :nothing => true 

我这样做对吗?

我也尝试过使用Rackspace的ruby-cloudfiles库来下载对象,但也没有运气。

回答

2

使用“send_data”方法。 它适合我。

+0

谢谢!在生产服务器上运行良好,在我的本地开发机器上有点慢。我想这是可以预料的。 – klahaeck