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

Digest :: Digest已弃用; 使用摘要

我收到以下错误 Digest::Digest is deprecated; use Digest 当我尝试启动我的rails服务器。 我试图在我的源代码中搜索Digest::Digest但我没有在任何地方使用它。 任何想法如何解决? 只有我正在使用的地方是 @alias = Digest::MD5.hexdigest(phone)

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 […]

通过API使用paperclip保存文件

我正在使用paperclip管理上传,通过Fog支持S3。 它运作良好。 我正在尝试从电子邮件中获取附件并通过回形针(使用相同的模型等)保存它们。 电子邮件由外部服务解析并发布到我的应用程序,包括附件。 我收到文件本身很好,但我无法弄清楚如何使用paperclip保存它。 该post给了我一个ActionDispatch::Http::UploadedFile类型的对象。 我看了下面的内容,但这涉及到创建一个新的File对象。 我不确定这是我想要的……我该怎么做? 使用Paperclip保存文件而不上传

将大文件上传到s3时Heroku超时

基于在heroku上部署的RefineryCMS 1.0.8我的应用程序出了问题。 Heroku的请求超时为30秒。 当通过RefineryCMS管理员上传文件> 4MO时,执行请求有时需要30秒以上(主要是因为将文件上传到s3所需的时间)。 在这种情况下,dyno将被“冻结”并且在大约30分钟内没有响应(此时间期间的每个请求都以H12错误请求超时结束)。 这种行为正是在本讨论的最后一条消息中描述christos的原因 从其他讨论和heroku文档 :“直接上传到S3是首选方法,如果你正在处理大于4MB的文件上传。想法是跳过你的dyno跳转,直接从最终用户浏览器建立连接到S3。“ 直接上传到S3应该是解决方案,但我很难用RefineryCMS / Dragonfly / Fog正确实现它。 我不确定是否可以在没有对这些工具进行大的修改的情况下,我想知道是否有替代方案。 谢谢你的帮助

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