• 10行代码判断上传文件的格式


    1.在每一个项目中,上传文件都是必不可少的功能。都需要限制上传的文件格式,那么如何精准的判断文件格式呢,通过文件名后缀来判断文件格式感觉也不是太靠谱,这里使用了apache-tika框架,

    步骤1:先引入依赖

    <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>1.9</version>
    </dependency>  
     步骤2:引入工具类
    import lombok.extern.slf4j.Slf4j;
    import org.apache.tika.Tika;

    import java.io.IOException;
    import java.io.InputStream;

    /**
    * @Description 文件工具类
    * MimeType 文件类型
    * application/msword word(.doc)
    * application/vnd.ms-powerpoint powerpoint(.ppt)
    * application/vnd.ms-excel excel(.xls)
    * application/vnd.openxmlformats-officedocument.wordprocessingml.document word(.docx)
    * application/vnd.openxmlformats-officedocument.presentationml.presentation powerpoint(.pptx)
    * application/vnd.openxmlformats-officedocument.spreadsheetml.sheet excel(.xlsx)
    * application/x-rar-compressed rar
    * application/zip zip
    * application/pdf pdf
    * video/* 视频文件
    * image/* 图片文件
    * text/plain 纯文本
    * text/css css文件
    * text/html html文件
    * text/x-java-source java源代码
    * text/x-csrc c源代码
    * text/x-c++src c++源代码
    * @Date 2020/7/17 14:21
    * @Author dengxiaoyu
    */
    @Slf4j
    public class FileUtil {
    public static String getMimeType(InputStream inputStream) {
    Tika tika = new Tika();
    String detect = "";
    try {
    detect = tika.detect(inputStream);
    } catch (IOException e) {
    log.error("获取文件类型异常", e);
    }
    return detect;
    }
    }

    步骤3:调用MultipartFile对象的getInputStream()方法获取inputstream,再调用FileUtil的getMimeType方法。

    
    
    
    
  • 相关阅读:
    python2.7之打飞机(文末附素材链接)
    python画小猪佩奇
    什么叫递归
    DIV居中的几种方法
    什么是控制反转
    上传图片及时预览
    MVC与三层的区别
    From表单提交刷新页面?
    文件上传之form表单篇
    文件上传之伪Ajax篇
  • 原文地址:https://www.cnblogs.com/kiwi-deng/p/13343347.html
Copyright © 2020-2023  润新知