0

我正在使用回形针将文件上传到 S3,现在我想从同一个应用程序下载它们。所以我正在做很多页面所说的,但如果我使用'aws-sdk',它会说AWS::S3::S3Object方法'find'不存在,如果我使用'aws-s3'gem,它说我需要使用'aws-sdk'。在控制器中,我正在调用:

aws_object = AWS::S3::S3Object.find @component.folder.path, 'bucket-name'
send_data(aws_object.value, :type => @component.folder_content_type) 

编辑: 我的模型看起来像:

attr_accessible :folder

has_attached_file   :folder, 
                    :path => ":rails_root/data/folders/:id/:basename.:extension",
                    :storage => :s3,
                    :s3_credentials => {
                        :bucket => "my-bucket-name",
                        :access_key_id => "XXXXXXXXX",
                        :secret_access_key => "XXXXXXXXX"
                    }
4

1 回答 1

0

这对我有用:

http://trevorturk.com/2008/12/11/easy-upload-via-url-with-paperclip/

也有例子可以下载。

秘密是“.read”:

data = open(asset.uploaded_file.url)
send_data data.read, :type => data.content_type, :x_sendfile => true,:filename => asset.file_name 
于 2013-07-04T04:37:52.533 回答