我正在使用回形针进行图像存储,我遇到了问题。当文件上传时,paperclip会生成两个文件,一个带有水印的处理过的图像和原始文件,在这种情况下,图像文件在公共文件夹中,现在的问题是,如果用户进入它,我可以限制网址吗?像:
localhost:3000/files/photos/image_processeds/57308cd52cb1be0846e4be9f/original/image.png
如果用户进入该链接,将被禁止。
这是我的回形针配置
has_mongoid_attached_file :image_original,
:url => "/files/:class/:attachment/:id/:style/:basename.:extension",
:path => ":rails_root/public/files/:class/:attachment/:id/:style/:basename.:extension"
和
has_mongoid_attached_file :image_processed,
processors: [:watermark],
styles: {
thumb: ['150x150', :jpg],
small: ['350x300', :jpg],
medium: ['550x500', :jpg],
original: {geometry: '60%',watermark_path: "#{Rails.root}/public/images/logo.gif", position: "Center"}
},
:url => "/files/:class/:attachment/:id/:style/:basename.:extension",
:path => ":rails_root/public/files/:class/:attachment/:id/:style/:basename.:extension"
Theres是一种方法,或者可能找到更好的方法吗?
答案 0 :(得分:0)
我想,original/image.png
应加水印。
我的意思是处理后不应该存在没有水印的版本。
你看过了吗?
答案 1 :(得分:0)
解决了,一个可靠的解决方案是将原始图像的副本保存到数据库中,并仅在他们购买照片时授予访问权限,否则他们只能看到带有水印的副本:)