查找使用 ActiveStorage 上传的文件的二进制文件

Find the binary of a file uploaded using ActiveStorage

我正在创建一个网站,用户可以在其中上传 PDF 文件。 据我了解,文件一旦上传,就会以二进制文件的形式保存在数据库中。

我想了解 ActiveStorage 如何保存此文档(以二进制形式)。基本上,我需要在我的控制器中检索该特定文件的 0 和 1。

我想知道如何检索这个二进制文件(作为字符串)。

我需要二进制文件,因为我想对其进行哈希处理,以便将一个 PDF 的哈希值与另一个 PDF 的哈希值进行比较,并判断它们是否相同。

另外:如果用户两次上传相同的PDF文件。 ActiveRecords 中的二进制是否相同?

您不需要这样做,Active Storage 会计算您文件的 Base64 编码 MD5 摘要,可通过 checksum 方法获得。

ActiveStorage::Blob#checksum