Ruby on rails 查找使用ActiveStorage上载的文件的二进制文件

Ruby on rails 查找使用ActiveStorage上载的文件的二进制文件,ruby-on-rails,ruby,rails-activestorage,Ruby On Rails,Ruby,Rails Activestorage,我正在创建一个网站,用户可以上传PDF格式的文件。 据我所知,一个文件一旦上传,就会作为二进制文件保存在数据库中 我想了解ActiveStorage如何保存此文档(二进制)。基本上,我需要在控制器中检索该特定文件的0和1 我想知道如何检索这个二进制文件(作为字符串) 我需要二进制文件,因为我想对它进行散列,以便将一个PDF的散列与另一个PDF的散列进行比较,并判断它们是否相同 另外:如果用户上传两次相同的PDF文件。ActiveRecords中的二进制文件是否相同?您不需要这样做,Active

我正在创建一个网站,用户可以上传PDF格式的文件。 据我所知,一个文件一旦上传,就会作为二进制文件保存在数据库中

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

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

我需要二进制文件,因为我想对它进行散列,以便将一个PDF的散列与另一个PDF的散列进行比较,并判断它们是否相同


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

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


您将文件保存在哪里?在数据库还是文件系统上?现在我正在使用Postgres(不确定这是否是您要求的,对不起),谢谢。那么,我如何才能找到特定PDF内容的唯一标识符呢?我不清楚
checksum
方法返回给我什么或如何使用它。checksum是一个唯一标识符,它是一个哈希摘要(例如:27848dbbd8800a97720d7b5a77092b17),如果将同一个文件保存两次,则cheksum将是相同的。谢谢,但我从哪里获得它?在我的控制器中应该类似于
@document.checksum
?model\u instance.attachment\u assoc\u name.checksum,