我正在尝试使用paperclip和aws-sdk gem下载存储的amazon s3存储桶数据。对象可公开访问。
我在我的控制器中有一个方法,我打算直接下载数据。
def method_where_downloading_happens
code for finding url from params
send_file "ModelName.attached_file.url"
end
#Tried both with static and dynamic url.
我收到以下错误
NoMethodError: undefined method `send_file for main:Object
但是,如果我使用: -
send_file open(ModelName.attached_file.url)
然后下载一个文件,但它的格式是二进制的,即windows无法识别file_type。
如果有人点击链接,请帮助我如何直接下载。
答案 0 :(得分:2)
你可以试试这个:
#In your environment.rb require 'open-uri'
require 'open-uri'
#As send_data will work in controller, so in your controller
def index
data = open(params[:file])
send_data data, :filename => params[:name], ...
end