carrierwave_backgrounder
全部标签 我已经安装了carrierwave和fog,已经成功上传图片并第一次查看了,但是现在它不再显示图片了。这是我的配置文件app/config/initializers/carrierwave.rbCarrierWave.configuredo|config|config.fog_credentials={:provider=>'AWS',#required:aws_access_key_id=>'AKIAJKOHTE4WTXCCXAMA',#required:aws_secret_access_key=>'somesecretkeyhere',#required:region=>'eu-
我有一个小型Rails3.2.1应用程序,它使用CarrierWave0.5.8将文件上传到S3(使用Fog)我希望用户能够选择他们想要下载的一些图像,然后将它们压缩并发送给他们。这是我想出的:defgenerate_zip#AcollectionofPhotoobjects.ThePhotoobjecthasaPhotoUploadermounted.photos=Photo.alltmp_filename="#{Rails.root}/tmp/"这不起作用,因为photo.photo.file返回CarrierWave::Storage::Fog::File的实例而不是常规文件。编
默认情况下,Carrierwave接收由store_dir在uploader中生成的url,并将路径添加到Rails应用程序的公共(public)文件夹并存储文件。例如如果defstore_dir"uploads/#{model.id}"end然后文件存储在public/uploads/:attachment_id如果尝试将存储的文件移出公用文件夹,它仍会保存在公用文件夹中。有谁知道如何将文件存储在公用文件夹之外?? 最佳答案 最简洁的方法是设置CarrierWave根选项CarrierWave.configuredo|config
在详细介绍之前,我先开门见山:有没有人想出一种方法让Carrierwave将文件的名称保存为时间戳或每个文件唯一的任意字符串?默认情况下,Carrierwave将每个文件及其替代版本保存在自己的目录中(以型号ID号命名)。我不喜欢这个,因为不是一个目录有1,000个,为了使用大的整数,文件(在我的例子中是图片),我们得到一个目录有1,000个子目录,每个子目录有一个或两个文件。呸。现在,当您将uploader的store_dir方法重写为如下内容时:defstore_dir"uploads/#{model.class.to_s.underscore}/#{mounted_as}"end
我正在使用RMagick并希望将我的图像调整为100像素的固定宽度,并按比例缩放高度。例如,如果用户要上传300x900像素,我希望将其缩放为100x300像素。 最佳答案 只需将其放入您的上传文件中即可:classImageUploader[100,10000]endend此处的文档和示例:http://www.imagemagick.org/RMagick/doc/image3.html#resize_to_fit请记住,如果图片小于100像素,resize_to_fit会放大图片。如果您不希望它这样做,请将其替换为resize
当一个新资源被创建并且它需要在资源准备好之前做一些冗长的处理时,我如何将那个处理发送到后台在那里它不会阻止我的网络应用程序的当前请求或其他流量吗?在我的模型中:classUser 最佳答案 您绝对应该查看以下Railscast:http://railscasts.com/episodes/127-rake-in-backgroundhttp://railscasts.com/episodes/128-starling-and-worklinghttp://railscasts.com/episodes/129-custom-daem
我正在使用Carrierwave上传文件,并且可以正常工作。我的问题是试图更改上传文件的名称。在生成的uploader.rb中有一个我认为我应该使用的方法deffilename"something.jpg"iforiginal_filenamebasename="what"+orginal_filenameiforiginal_filename,worksbasename=(0...8).map{65.+(rand(25)).chr}.joiniforiginal_filename#willcreatearandomnameforeachversion,e.g.theorginal,t
我正在尝试使用CarrierWave为Rails3中的数据库播种图像,但我尝试的任何方法似乎都无法正常工作,除非必须手动上传它们。pi=ProductImage.new(:product=>product)pi.image=File.open(File.join(Rails.root,'test.jpg'))pi.store_image!#triedwithandwithoutthisproduct.product_images有人知道如何使用CarrierWave播种吗? 最佳答案 原来CarrierWave的文档有点错误。有一段
在暂存过程中,我在通过carrierwave和minimagick上传和调整图像大小时遇到以下错误。在本地一切正常。载波(0.9.0)迷你魔法(3.7.0)irb(main):003:0>PicturePost.create(remote_content_url:'http://www.imagpress.com/img/slider/slider_1.jpg')NoMethodError:undefinedmethod`size'fornil:NilClassfrom/home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/g
我正在使用carrierwavegem上传文件。我建立了一个系统,供用户将图像标记为不当图像,并供管理员删除图像。据我所知,对图像调用destroy只会从表中删除路径名。有没有办法让carrierwave实际删除文件本身?或者当我破坏图像路径时,rails应该自动删除文件吗? 最佳答案 就像@mu_is_too_short说的,你可以使用File#delete。这是一个代码片段,您可以在Rails应用程序中稍加调整后将其用作帮助程序。defremove_file(file)File.delete(file)end或者如果您只是将文件