Tag: 波波

使用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) […]

如何处理file_as_string(由Prawn生成)以便Carrierwave接受它?

我正在使用Prawn从Rails应用程序的控制器生成PDF, … respond_to do |format| format.pdf do pdf = GenerateReportPdf.new(@object, view_context) send_data pdf.render, filename: “Report”, type: “application/pdf”, disposition: “inline” end end 这很好用,但我现在想将GenerateReportPdf移动到后台任务中,并将生成的对象传递给Carrierwave直接上传到S3。 工人看起来像这样 def perform pdf = GenerateReportPdf.new(@object) fileString = ??????? document = Document.new( object_id: @object.id, file: fileString ) # file is field used by Carrierwave end 如何处理Prawn( ????? )返回的对象,以确保它是Carrierwave可以读取的格式。 fileString = pdf.render_file ‘filename’将对象写入应用程序的根目录。 因为我在Heroku上这是不可能的。 […]

howto:载波的基本设置

我有一个用于生产和开发的S3桶。 我已完成我的研究并遇到了这篇文章,但我当前的配置无法按预期工作。 我在本地获得以下exception(下面),我从我的heroku应用程序中没有上传到我的S3存储桶的文件: is not a recognized storage provider Extracted source (around line #3): 1: 2: 3: 4: 5: 6: 但是,当我在*_uploader.rb文件中设置storage :file ,一切都按预期在本地工作。 但仍然注意到有人被送到我的S3桶。 这是我的设置: user.rb class User < ActiveRecord::Base attr_accessible :name, :avatar, :avatar_cache, :remote_avatar_url, :remove_avatar mount_uploader :avatar, AvatarUploader end fog.rb CarrierWave.configure do |config| if Rails.env.production? config.storage = :fog config.fog_credentials = { :provider => ‘AWS’, […]

undefined方法`fog_host =’

当我试图运行我的应用程序时,我收到以下错误: config / initializers / carrierwave.rb:4:未定义的方法`fog_host =’用于CarrierWave :: Uploader :: Base:Class(NoMethodError) 这是我的initializers / carrierwave.rb文件: CarrierWave.configure do |config| config.storage = :fog config.fog_directory = ‘media.domain.pl’ config.fog_host = ‘http://s3-eu-west-1.amazonaws.com/media.domain.pl’ config.fog_credentials = { :provider => ‘AWS’, :aws_access_key_id => ‘***’, :aws_secret_access_key => ‘***’, :region => ‘eu-west-1’, } end 我的Gemfile包含了carrierwave和fog ,它一直工作到最后一次使用bundle update 。 你知道我的代码有什么问题吗? 我在谷歌找不到任何关于它的东西 ruby诉1.8.7 rails v.3.2.6 雾v 1.6.0 carrierwave […]

使用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

Exconn :: Errors ::通过Carrierwave和Fog上传文件中的SocketError

这是我最近遇到的问题的延续 – Stack Level Too Deep错误 – 我认为它具有强大的参数 每当我做一个涉及文件上传的Post创建时,我都会收到此错误: Started POST “/posts” for 127.0.0.1 at 2014-08-28 08:47:09 -0500 Processing by PostsController#create as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”daUAMfiQZ/uiD/0ADg=”, “post”=>{“status”=>”confirmed”, “title”=>”Ashlee lost 10 pounds in 5 weeks”, “photo”=>#<ActionDispatch::Http::UploadedFile:0x000001038f04b8 @tempfile=#, @original_filename=”Ashlee-Testimonial.png”, @content_type=”image/png”, @headers=”Content-Disposition: form-data; name=\”post[photo]\”; filename=\”Ashlee-Testimonial.png\”\r\nContent-Type: image/png\r\n”>, “body”=>”She lost 10 pounds in 5 weeks doing 10PP.”}, “commit”=>”Submit”} User Load […]

如何使用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”现在,我已经创建了我的桶。 我错过了一些配置吗? 它甚至不适用于我的开发环境。 请帮忙。 提前致谢。