首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回形针-图像复制

回形针-图像复制
EN

Stack Overflow用户
提问于 2009-10-27 21:36:43
回答 3查看 413关注 0票数 2

我不想复制图片,如果它是相同的,

比如:

user1发布一张图片

user2发布相同的图像

数据库中的2#图像

有办法处理吗??

谢谢,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-27 21:46:45

要做到这一点,您需要将附件分解到它们自己的模型中。

所以你现在很有可能

代码语言:javascript
复制
class User < ActiveRecord::Base
   has_attached_file :avatar #plus a bunch of specifications here
end 

您将设置一个新的模型和关联,如

代码语言:javascript
复制
class User < ActiveRecord::Base
   belongs_to :images
end 

class Image < ActiveRecord::Base
   has_many :users
   has_attached_file :avatar
end 

然后在你的控制器里,你需要

代码语言:javascript
复制
Image.find_or_create_by_avatar_file_name(#filename here)

因此,现在您有了一个user.image_id属性,并且可以有一个与多个用户关联的上传图像。

然而,我已经建立了一些相当大的系统,用户照片上传(徽章照片,头像照片,有趣的照片,任何其他)和用户之间的实际重叠往往很小。此外,您实际上只是在节省资源中最便宜的资源:存储空间。在带宽成本、处理或编程复杂性方面,您不会通过这条路线节省任何费用。

除非这是一个非常独特的环境(在这种情况下,听到你在做什么是很好的),否则我建议不要走这条路。

票数 0
EN

Stack Overflow用户

发布于 2009-10-27 21:45:37

http://www.codeproject.com/Messages/2913691/Comparing-one-image-to-many-others-speeded-up.aspx

我在我的程序中使用它,一切都很好!

DB相关建议:在表中存储散列。然后你只需要一次哈希运算。

关于速度

1)例如限制图像大小100x100

2)当用户尝试登录时,计算出密码的哈希值。我认为用户会更频繁地登录,而不是更新他们的化身。

票数 1
EN

Stack Overflow用户

发布于 2009-10-27 21:42:15

在保存每个图像时,计算它的散列。当一个新用户发布相同的图像时,检查该图像的散列,看看它是否与数据库中的任何内容匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1633820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档