关于使用 blob 与文件存储二进制文件的 SO 有很多讨论,但我目前面临的问题涉及病毒扫描。可能有很多 API 可用于扫描保存到文件系统的文件。有斑点吗?是否有可以提供流或字节 [] 并被告知扫描它们以查找病毒和恶意软件的 API?如果是这样,有人有什么建议吗?或者这是避开斑点的另一个原因?
仅供参考 - 我现在正在为我的 blob 使用 C# 和 MongoDb。
我需要一个问题所要求的解决方案。我评估了很多东西,得出的结论是,确实没有一个好的 .NET 库可以做到这一点。所以我自己做了。
该库称为 nClam,它连接到 ClamAV 服务器。它是具有非常简单 API 的开源(Apache 许可证 2.0)库。你可以在这里获得它:https ://github.com/tekmaven/nClam 。还有一个 nuget 包:nClam。我的博客上还有一些关于如何设置 ClamAV 服务器的说明,这里是: http: //architectryan.com/2011/05/19/nclam-a-dotnet-library-to-virus-scan/。
当然,Sophos 的 API (SAVI) 可以扫描任意内存缓冲区——您可以为访问数据提供回调,因此它可以是您可以访问的任何数据。
我不知道是否存在用于扫描内存数据的 API(我还没有找到),但您始终可以将二进制数据放入临时文件中,扫描文件(通过调用在命令行中工作的外部程序)并在完成后将其删除。