Tag: carrierwave

Rails / Carrierwave gem – 如何以JSON格式访问图像上传数据?

Carrierwave gem允许我使用户能够上传一个或多个图像(例如,化身)并在Rails生成的页面上显示这些图像,因此: 我想知道是否可以将图像数据检索为JSON,以便我收到如下所示的JSON响应: [ { “title”: “The Title”, “description”: “The description”, “url”: “the/url”, “thumbnail: “the/thumbnail/url” } ]

载波图像未加载到源代码中

不知道我在这个问题上做错了什么。 我已经按照Rails Cast for Carrierwave进行了操作,但是我遇到了一个奇怪的错误,图像根本没有显示 – (HTML)源代码显示的是图像标记,但内部没有任何内容。 组合模型代码: class Portfolio < ActiveRecord::Base validates :title, :content, presence: true mount_uploader :feature_image, FeatureImageUploader end function图像上传代码: class FeatureImageUploader < CarrierWave::Uploader::Base storage :file def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end def extension_white_list %w(jpg jpeg gif png) end end Show.html.haml代码: = @portfolio.title =image_tag @portfolio.feature_image_url.to_s =markdown(@portfolio.content).html_safe 我的表格代码: .field = f.label :title %br = f.text_field :title […]

耙子流产了! 操作不被允许 – Carrierwave删除validation失败的tmp文件

我正在使用Carrierwave,s3和fog来上传video。 我添加了一个file_size_validator文件,以便video不能大于5mb。 我对Carrierwave如何工作的理解(请告知是否不正确)。 Carrierwave将文件的副本保存到tmp文件文件夹,然后对其执行validation,如果通过则将文件上传到S3,下面的代码将从本地文件系统中删除tmp文件: video_uploader.rb before :store, :remember_cache_id after :store, :delete_tmp_dir def cache_dir Rails.root.join(‘public/uploads/tmp/videos’) end # store! nil’s the cache_id after it finishes so we need to remember it for deletion def remember_cache_id(new_file) @cache_id_was = cache_id end def delete_tmp_dir(new_file) # make sure we don’t delete other things accidentally by checking the name pattern if @cache_id_was.present? […]

上传器产生有关应存储路径的列的错误

Image模型与Organization模型具有1:1的关联。 在组织控制器中, create方法调用名为upload_file的Image模型方法。 def create @organization = Organization.new(new_params) if @organization.save Image.upload_file(@organization.id) end end upload_file方法使用carrierwave上传器将标准文件存储在Amazon S3存储桶中。 为此,Image模型包括mount_uploader :file_name, ImageUploader 。 我的问题是如何为上传的文件创建一个Image实例? 存储文件的路径应存储在Image模型的列file_name中。 与图像关联的组织应存储在Image模型的organization_id列中。 我怎样才能做到这一点? 更具体地说,我应该为下面的模型方法添加什么代码? (另请参阅以下方法中的注释。 def self.upload_file(organization_id) file = ‘app/assets/emptyfile.xml’ uploader = ImageUploader.new uploader.store!(file) # Am I correct to assume that the previous line uploads the file using the uploader, but does not yet create […]

rails 5 carrierwave没有路由匹配图像

我需要一些帮助。 我使用rails 5和carrierwave上传图像。 我遇到的问题是图像被保存但不会显示,我得到一个无路由匹配GET …..我将图像存储在Rails.root的uploads文件夹中,因为我不希望它们保存在公共场所DIR。 image_uploader.rb def store_dir “uploads/#{model.user_id}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}” end carrier_wave.rb require ‘carrierwave/orm/activerecord’ require ‘carrierwave’ CarrierWave.configure do |config| config.root = Rails.root end 这是我在日志中收到的错误: Started GET “/uploads/2/uitem/image/26/A_penrose-small.jpg” for ::1 at 2016-10-29 16:06:27 +0200 ActionController::RoutingError (No route matches [GET] “/uploads/2/uitem/image/26/A_penrose-small.jpg”): 非常感谢任何帮助,我一直在搜索,无法找到解决方案。 谢谢

如何从Carrierwave Uploader对象引用父模型

我希望在通过Carrierwave完成文件上传后运行一些方法。 Carrierwave包含了几个回调方法。 我打算使用:store回调。 这很好,但它需要我在Uploader对象实例中运行回调方法。 这不是世界末日,但我希望将所有逻辑保留在我的父模型中。 我的问题是:我应该如何从上传器引用父模型? 我在文档中没有看到任何明显的东西? 我想我可以做点什么 ParentModel.last.call_my_method_here 但这似乎是一种非常脆弱的编码方式(不期待很多请求,但仍然)。

Rails 4 – 如何使用carrierwave在froala编辑器中上传图像?

我仍然坚持要在froala编辑器中进行图像上传。 我有载波工作用于将图像上传到我的应用程序的其他部分的谷歌云存储,现在我想在froala编辑器中上传图像。 这是我到目前为止所做的 发布图像uplaoder class PostImageUploader < CarrierWave::Uploader::Base # Choose what kind of storage to use for this uploader: storage :fog # Override the directory where uploaded files will be stored. # This is a sensible default for uploaders that are meant to be mounted: def store_dir "post-image" end # Add a white list of […]

如何使用CarrierWave从S3获取真实文件

我有一个应用程序,它读取文件的内容并对其进行索引。 我将它们存储在磁盘本身,但现在我正在使用Amazon S3,因此以下方法不再起作用。 它是这样的: def perform(docId) @document = Document.find(docId) if @document.file? #You should’t create a new version @document.versionless do |doc| @document.file_content = Cloudoc::Extractor.new.extract(@document.file.file) @document.save end end end @document.file返回FileUploader , doc.file.file返回CarrierWave::Storage::Fog::File类。 我怎样才能获得真实的文件?

Capistrano和Carrierwave

我正在使用Capistrano部署Ruby on Rails和NodeJS应用程序。 每次部署时都会删除uploads文件夹。 这出现在几个地方,但它似乎不起作用: # Keep File Uploads task :symlink_uploads do run “ln -nfs #{shared_path}/rails/uploads #{release_path}/rails/public/uploads” end after ‘deploy:update_code’, ‘deploy:symlink_uploads’ 回购: repo: /node /rails 谢谢!

使用Carrierwave调整条件图像大小

我需要有条件地创建不同版本的上传图像。 我知道Carrierwave支持这个function。 但我的要求有点棘手。 对于每个上传的图像,我需要创建2个版本,并需要根据条件缩放原始图像。 下面的代码将让您更好地了解我要做的事情: version :leftright, :if => :image? do process :resize_to_fill => [667*2, 778*2] ,:if => :is_retina_resolution? process :resize_to_fill => [667, 778] ,:if => !:is_retina_resolution? end version :updown, :if => :image? do process :resize_to_fill => [1024*2, 487*2] ,:if => :is_retina_resolution? process :resize_to_fill => [1024, 487] ,:if => !:is_retina_resolution? end #resize the original image […]