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