Tag: 亚马逊 s3载

使用Carrierwave和Fog将video上传到S3

我已经用Carrierwave和Fog配置了我的testapp。 我的目标是将video上传到Amazon S3,但如果我尝试上传video,则会出现“管道损坏”错误。 如果我只是上传一张图片,它就有效,所以我的亚马逊配置应该没问题! carrierwave适用于video吗? 或者为什么它适用于图像而不适用于video? Carrierwave.rb: CarrierWave.configure do |config| config.fog_credentials = { :provider => ‘AWS’, :aws_access_key_id => ‘XXX’, :aws_secret_access_key => ‘YYY’ } config.fog_directory = ‘testbucket’ end Video_Uploader.rb: class VideoUploader < CarrierWave::Uploader::Base storage :fog end upload_form: 控制器: def create @video = Video.new(params[:video]) if @video.save redirect_to videos_url else render :new end end

CarrierWave S3文件检索问题 – 未定义方法`body’

这让我疯了。 我使用CarrierWave和Amazon S3,我可以安全地将文件上传到存储桶,我现在尝试(在不同的请求中)检索文件并将其作为下载文件传送到浏览器。 文件可以是任何文件,.zip文件等。我不使用它来存储图像。 Bucket是私有的,不是公共的,所以我不能只使用S3 URL。 这是我的检索代码: au = @note.attachment au.retrieve_from_store!(File.basename(@note.attachment.to_s)) au.cache_stored_file! cache_stored_file上的代码错误! 线。 抛出错误: undefined method `body’ for nil:NilClass 我检查对象,它看起来很好,如果我输出@ note.attachment,我可以清楚地看到amazon s3 URL与键等。 我已经遍布网络,我可以搞清楚。 我找到了一些有相同问题的人通过做与我的情况无关的事情来解决它(比如使用一些imagemagick方法),再次,这些只是文件。 没有处理或图像工作,我只想将文件作为下载返回到浏览器。 有人可以帮忙吗? 这是我的上传者: class AttachmentUploader < CarrierWave::Uploader::Base storage :fog def store_dir "#{Rails.env}/#{model.id}" end def cache_dir "#{Rails.root}/tmp/attachments" end end 和痕迹 carrierwave (0.8.0) lib/carrierwave/storage/fog.rb:225:in `read’ carrierwave (0.8.0) lib/carrierwave/uploader/cache.rb:77:in `sanitized_file’ carrierwave (0.8.0) […]

使用carrierwave和fog将文件上传到S3时缺少要求

我收到此错误Missing required arguments: aws_access_key_id, aws_secret_access_key 。 这看起来很奇怪,因为我已经在initializers文件夹中添加了carrierwave.rb。 当我使用aws-sdk时,访问/密钥可以正常工作 CarrierWave.configure do |config| config.fog_credentials = { provider: “AWS”, aws_access_key_id: ENV[“PUB-KEY”], aws_secret_access_key: ENV[“SEC-KEY”] } config.fog_directory = ENV[“mybucket”] end

如何使用Carrierwave和Fog检查S3上是否存在图像版本?

我用Carrierwave和Fog将我的图像上传到S3。 在上传时,我还创建了图像的缩略图版本: version :thumb do process :resize_to_limit => [90, 80], if: :is_resizable? end 现在我需要一种方法来检查缩略图版本是否存在。 文档列出了exists? 方法。 这实际上有效,如果我想检查原始版本的存在: asset.file.exists? # => true 但是当我使用像这样的“拇指”版本时: asset.url(:thumb).file.exists? 它得到: undefined method ‘exists?’ for # undefined method ‘exists?’ for # :

Carrierwave / Fog – 参数错误,提供程序无法识别

我正在使用Carrierwave 0.5.3和Fog将图像上传到Amazon-S3。 在本地运行时,设置顺利运行,没有错误。 但是当在Heroku上运行时,上传失败并显示以下消息: 2011-03-31T12:53:46-07:00 app[web.1]: ArgumentError ( is not a recognized storage provider): 2011-03-31T12:53:46-07:00 app[web.1]: app/controllers/useditems_controller.rb:36:in `create’ 我有一个初始化器: # /config/initializers/fog.rb CarrierWave.configure do |config| config.fog_credentials = { :provider => ‘AWS’, :aws_access_key_id => ‘secret’, :aws_secret_access_key => ‘also secret’, :region => ‘eu-west-1’ } config.fog_directory = ‘jabberwocky’ end 还有一个上传者: # /app/uploaders/image_uploader.rb # encoding: utf-8 class ImageUploader [220, 2000] […]

rails + carrierwave + fog + S3套接字错误

我有这个问题试图使用带雾的S3服务和Jquery文件上传(https://github.com/blueimp/jQuery-File-Upload) 错误 Excon::Errors::SocketError (getaddrinfo: nodename nor servname provided, or not known (SocketError)): 当我尝试在控制器中调用“save”方法时会发生这种情况。 我将载波设置如下: 配置/初始化/ carrierwave.rb CarrierWave.configure do |config| config.fog_credentials = { :provider => ‘AWS’, :aws_access_key_id => ‘access_key_here’, :aws_secret_access_key => ‘secret_key_here’, :region => ‘eu-east-1’ } config.fog_directory = ‘folder_name_here’ config.fog_public = false config.fog_attributes = {‘Cache-Control’=>’max-age=315576000’} config.storage = :fog end 和我的上传者只是“config.storage:fog”和“store_dir”现在,我已经创建了我的桶。 我错过了一些配置吗? 它甚至不适用于我的开发环境。 请帮忙。 提前致谢。

Carrierwave雾无法显示Amazon S3图像

我已经安装了载波和雾,已成功上传图像并第一次查看它们,但现在它不再显示图像了。 这是我的配置文件 app / config / initializers / carrierwave.rb CarrierWave.configure do |config| config.fog_credentials = { :provider => ‘AWS’, # required :aws_access_key_id => ‘AKIAJKOHTE4WTXCCXAMA’, # required :aws_secret_access_key => ‘some secret key here’, # required :region => ‘eu-east-1’, # optional, defaults to ‘us-east-1’ :host => ‘https://s3.amazonaws.com’, # optional, defaults to nil :endpoint => ‘https://s3.amazonaws.com:8080’ # optional, defaults […]