Java 如何在Spring3MVC应用程序中实现文件上传时的病毒扫描

Java 如何在Spring3MVC应用程序中实现文件上传时的病毒扫描,java,spring-mvc,file-upload,virus-scanning,Java,Spring Mvc,File Upload,Virus Scanning,我必须扫描上传的文件中的病毒,并在Spring3MVC应用程序中向用户显示适当的消息 目前我已经使用SpringMVC3配置了文件上传。一旦文件在控制器中收到,我必须检查是否存在病毒,如果文件感染了任何病毒,那么应用程序应该拒绝该文件并向用户显示特定消息 关于如何在JavaSpringMVC应用程序中实现这一点的任何想法。我使用的spring版本是3.2.4 在此方向上的任何帮助/指点都将不胜感激 非常感谢。首先,您必须检查您安装的防病毒软件提供的API类型 如果提供了任何Java API(如A

我必须扫描上传的文件中的病毒,并在Spring3MVC应用程序中向用户显示适当的消息

目前我已经使用SpringMVC3配置了文件上传。一旦文件在控制器中收到,我必须检查是否存在病毒,如果文件感染了任何病毒,那么应用程序应该拒绝该文件并向用户显示特定消息

关于如何在JavaSpringMVC应用程序中实现这一点的任何想法。我使用的spring版本是3.2.4

在此方向上的任何帮助/指点都将不胜感激


非常感谢。

首先,您必须检查您安装的防病毒软件提供的API类型

如果提供了任何Java API(如AVG API),则必须按如下方式使用:

public void scanFile(byte[] fileBytes, String fileName)
   throws IOException, Exception {
   if (scan) {
      AVClient avc = new AVClient(avServer, avPort, avMode);
      if (avc.scanfile(fileName, fileBytes) == -1) {
         throw new VirusException("WARNING: A virus was detected in
            your attachment: " + fileName + "<br>Please scan
            your system with the latest antivirus software with
            updated virus definitions and try again.");
      }
   }
}
有一篇有趣的文章供您参考:


希望这对您有所帮助。

hey@Raptor现在,文件上传模块正在工作。我不知道如何在控制器级别扫描这些文件,这就是为什么我需要指针,这样我就可以开始了。我还没有开始,因为我的想法已经不多了。你能提供一个AVGAPI的链接吗?感谢您的指点。同意我在任何地方都找不到此api文档???如果可以遵循方法2如何跟踪病毒扫描的状态?。通过防病毒UI?@Shishir Kumar该api是否提供有关扫描文件状态的报告?
String[] commands =  new String[5];
                  commands[0] = "cmd";
                  commands[1] = "/c";
                  commands[2] = "C:\\Program Files\\AVG\\AVG10\\avgscanx.exe";
                  commands[3] = "/scan=" + filename;
                  commands[4] = "/report=" + virusoutput;


                 Runtime rt = Runtime.getRuntime();
                 Process proc = rt.exec(commands);