关于使用Blob和文件来存储二进制文件的问题在SO上已经有很多讨论了,但我现在面临的问题是病毒扫描。可能有许多API可用于扫描保存在文件系统中的文件。那么有没有针对Blob的API呢?有没有可以接受流或byte[]并告知其进行病毒和恶意软件扫描的API?如果有的话,是否有任何推荐?还是这又是一个避免使用Blob的理由?
提醒一下 - 我目前正在使用C#和MongoDb处理我的Blob。
关于使用Blob和文件来存储二进制文件的问题在SO上已经有很多讨论了,但我现在面临的问题是病毒扫描。可能有许多API可用于扫描保存在文件系统中的文件。那么有没有针对Blob的API呢?有没有可以接受流或byte[]并告知其进行病毒和恶意软件扫描的API?如果有的话,是否有任何推荐?还是这又是一个避免使用Blob的理由?
提醒一下 - 我目前正在使用C#和MongoDb处理我的Blob。
我需要一个与问题相关的解决方案。我评估了很多东西,得出结论,真的没有一个好的.NET库可以解决这个问题。所以我自己开发了一个。
这个库叫做nClam,它连接到一个ClamAV服务器。它是一个开源(Apache许可证2.0)的库,具有非常简单的API。你可以在这里获取它:https://github.com/tekmaven/nClam。也有一个NuGet包:nClam。我还在我的博客上提供了一些关于如何设置ClamAV服务器的说明,在这里:http://architectryan.com/2011/05/19/nclam-a-dotnet-library-to-virus-scan/。
我不知道是否存在用于扫描内存数据的API(我没有找到任何),但您可以将二进制数据放入临时文件中,通过调用在命令行中工作的外部程序扫描该文件,并在完成后删除它。