如何检查分段文件是否为zip文件?

问题描述

我想做一个简单的检查,是否来自org.springframework.web.multipart.multipartfile7的multipartfile实际上是一个ZIP文件。有没有做很多转换的优雅方法吗?

一种解决方案是将multipartfile转换为java.io.File,然后使用它创建一个ZipFile对象,如果该文件不是实际的ZIP,则该对象的构造函数将引发ZipException。 我认为这不是一个好的解决方案,因为它需要大量的代码行,但是我无法提出更好的解决方案。 您还有其他想法吗?

解决方法

我建议使用Apache Commons IO中的File Name utils

String extension = FilenameUtils.getExtension(file.getOriginalFilename())
        if(extension.equals(".zip"){
        // enter logic here  
        }

Maven依赖项:

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
    </dependency>