这个问题适用于任何有 Ruby Gem Shrine for File Uploads 经验的人。
我正在尝试使用 ClamAV 扫描文件上传的病毒。扫描效果很好,但是在验证之前,Shrine 已经将文件自动上传到云存储。
- 在上传文件之前,我们可以使用 Shrine 中的挂钩/回调来运行扫描吗?
- 有替代方法吗?
这是目前的代码。
Attacher.validate do
if file
tmp_file = file.download
# raise Services::Clamav::Client::FileContainVirus
errors << "virus file" if Services::Clamav::Client.virus?(tmp_file.path)
end
end
任何想法/答案都会有所帮助。谢谢你。