我已经在我的图像表中添加了2000张图片,而我正在使用Paperclip插件创建拇指.我想知道是否有办法通过数据库并添加另一个:styles元素.
例如,当我添加图像时,我在模型中有以下内容:
has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }
Run Code Online (Sandbox Code Playgroud)
但是,现在我想添加一个:large属性并将其应用于我表中已有的每个图像.就像是:
has_attached_file :image, :styles => { :large => "800x800>", :medium => "300x300>", :thumb => "100x100>" }
Run Code Online (Sandbox Code Playgroud)
这可能吗?或者我是否需要重新添加所有2000张照片?
如何在上传和保存文件后重命名文件?我的问题是我需要自动解析有关文件的信息,以便提出文件应该像我的应用程序一样保存文件名,但我无法访问生成文件名所需的信息,直到记录为止.模型已保存.
我有两个这样的模特: -
模型1 - 卡 - 包含首页
附件感兴趣的数据的表示名称= cardimage
模型2 - 用户 - 包含用户
附件名称=头像
当我创造!一张新卡,我希望将用户模型中的头像作为新的cardimage复制到卡片模型中.
这有一个简单的衬垫吗?
的Ruby/Rails /回形针
我正在尝试使用Sinatra上传文件.我在这里有代码,但是我收到错误"方法file_hash不存在"(请参阅/lib/mvc/helpers/helpers.rb).
这里发生了什么?我缺少一些依赖吗?
我有一个RoR网站,用户可以上传照片.我使用paperclip gem上传照片并将它们作为文件存储在服务器上.我打算转移到Amazon S3来存储照片.我需要将所有现有照片从服务器移动到Amazon S3.有人能告诉我移动照片的最佳方式.谢谢 !
Paperclip将原始图像存储在"原始"文件夹中.有没有办法调整原始图像的大小?我想缩小原件以节省光盘空间.
因此,例如,如果访问者使用2592x1936上传照片,我想将其存储为1024x1024,就像我们设置尺寸的方式一样:拇指图像:样式
更新(已解决)
我发现了如何在上传时自动调整原始图像的大小.只需要添加:原创到样式:
class MyModel < ActiveRecord::Base
has_attached_file :photo,
:styles => { :original => "1024x1024>", :thumb => "150x150>" }
end
Run Code Online (Sandbox Code Playgroud) 使用带有Paperclip的rails,我可以使用以下命令在before_create期间获取文件名:
extension = File.extname(photo_file_name).downcase
我如何得到JUST文件名..现在我有photo_file_name提供整个文件,titlename.pdf
我需要没有.pdf的titlename
谢谢
使用代码更新:
photo.rb:
before_create :obfuscate_file_name
#Paperclip for photo
has_attached_file :photo,
......
private
def obfuscate_file_name
extension = File.extname(photo_file_name).downcase
fileNameOnly = File.basename(photo_file_name).downcase
self.photo.instance_write(:file_name, "#{fileNameOnly}_#{ActiveSupport::SecureRandom.hex(32)}#{extension}")
end
Run Code Online (Sandbox Code Playgroud) 人们如何编写涉及Paperclip的Rails迁移?我觉得我可能会遗漏一些明显的东西,因为我现在已经编写了自己的迁移助手黑客,这使得它变得更容易并且还可以处理必要的文件系统更改.当然,您应该在部署到生产之前在开发(和临时)环境中测试运行这些类型的迁移.
Paperclip迁移重命名,添加和删除帮助器
Paperclip更改路径迁移帮助程序(不是真正的数据库迁移,但认为它非常适合)
有没有更好的解决方案或最佳实践?有些人似乎创造了耙子任务等,感觉非常麻烦.
我创建了一个在Heroku上运行的Rails应用程序,包括Paperclip和S3.我已经设法通过网站将图像上传到我的S3存储桶(我可以看到它们显示在亚马逊控制面板上的存储桶中).
但是当我添加一个Image标签即<%= image_tag x.photo.url%>时,我得到以下html(这里省略了标签),没有显示图像!
img alt ="Test_tree"src ="http://s3.amazonaws.com/hiphotos/ads/photos/000/000/015/original/test_tree.jpg?1344661020"
请帮忙!为什么我不能看到图像,即使它们在桶中?
非常感谢你们
我们说我的seeds.rb文件中有以下条目:
Image.create(:id => 52, :asset_file_name => "somefile.jpg", :asset_file_size => 101668, :asset_content_type => "image/jpeg", :product_id => 52)
Run Code Online (Sandbox Code Playgroud)
如果我播种它,它会尝试处理指定的图像,我收到此错误:
No such file or directory - {file path} etc...
Run Code Online (Sandbox Code Playgroud)
我的图像备份,所以我真的不需要创建它们; 但我需要记录.我不能在我的模型中评论paperclip指令; 然后它起作用; 但我想可能还有另一种解决方案.
是否还有其他模式可以实现它?或者告诉回形针不要处理图像?