【发布时间】:2023-04-02 06:55:01
【问题描述】:
鉴于以下情况:
- 通过文件传输新收到的 PDF 类型的文档
source - 使用
active_storage和版本化保存为附件 blob 的文档target
我想检查target 的任何现有版本是否二进制等于source。如果没有active_storage,我会对进入数据库的任何 blob 进行 SHA256 和。为了进行比较,我将source 的新SHA256 总和与为任何版本的target 存储的每个校验和进行比较。
但是,active_storage 附件和 blob 的方法 .checksum 似乎既不是 MD5 也不是 SHA265 总和。例如,我为某些文件获得 Cr4IxYNF7v7cJao1EiiBEw==。
解决方案是使用 Digest::SHA256.hexdigest(Person.find(46).photo.download) 之类的东西,但性能会很糟糕。
如何有效地搜索我的active_storage“数据库”?
【问题讨论】:
标签: ruby-on-rails ruby checksum rails-activestorage