您好,是否可以按存储名称搜索文件?
我的意思是,不是按文件名查找,而是按与其附件相关的基于哈希的名称查找。例如,作为管理员,我检查了论坛备份,发现了一个大的附件。我不知道原始文件名,因此无法快速在论坛中找到它进行检查。
我可以按文件名搜索,并且可以看到其存储名称:
不幸的是,按存储名称搜索不起作用:
有没有一种友好的方法来操作这些附件?我不想在检查它们的内容之前将它们从存储中删除(在大多数情况下,我想清理、修剪内容并重新打包它们)。可能存在使用数据浏览器的方法吗?
您好,是否可以按存储名称搜索文件?
我的意思是,不是按文件名查找,而是按与其附件相关的基于哈希的名称查找。例如,作为管理员,我检查了论坛备份,发现了一个大的附件。我不知道原始文件名,因此无法快速在论坛中找到它进行检查。
我可以按文件名搜索,并且可以看到其存储名称:
不幸的是,按存储名称搜索不起作用:
有没有一种友好的方法来操作这些附件?我不想在检查它们的内容之前将它们从存储中删除(在大多数情况下,我想清理、修剪内容并重新打包它们)。可能存在使用数据浏览器的方法吗?
您需要使用其中一个控制台方法来查找 sha1:
Upload.sha1_from_short_url
Upload.sha1_from_short_path
Upload.sha1_from_base62_encoded
您可以将它们的逻辑复制到其他地方,如果您需要的话。使用该 sha1 哈希值,您可以搜索 uploads 表中的值,或者在控制台中执行:
Upload.find_by(sha1: sha_to_find)
在您的情况下,如果我输入正确的话:
[1] pry(main)> Upload.sha1_from_base62_encoded 'yl9oPeFdXA4DSdL4chS0sznm5zF'
=> "f0ae01b37fe5db52f1935f6247dff639f77c5117"
嗯,很有趣,非常感谢!![]()
附注:对于那些通过搜索来到此主题的人:
如何运行 rails console(以启动 Pry 会话):
sudo /var/discourse/launcher enter app
rails c
pry(main)> 您可以在此处运行上面发布的命令
数据库的 SQL 查询:
SELECT filesize, original_filename, sha1 FROM uploads WHERE filesize > 3000000 order BY filesize desc
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.