JAVA判断上传文件后缀名是否符合规范MultipartFile
这里就只做了图片判断,其他判断均一样的逻辑
文件后缀名枚举
controller
java实现对上传文件做安全性检查
对外接口支持文件上传功能时,为避免有人恶意上传有毒或者篡改程序的脚本,需要对上传的文件添加安全性校验。
1.文件后缀校验
文件首先校验直观文件上传格式,校验文件后缀是否符合业务要求。以MultipartFile类为例
2.校验文件头
由于文件后缀可能涉及到篡改的情况出现,因此需要校验文件的魔数,也就是文件头。无论这个文件是否修改文件后缀,这个文件的文件头是不会改变的。下面是常用的文件头格式:
1.使用枚举类去校验
使用上面的文件头去校验的代码示例(这段代码参考:Java 实战系列·Magic 魔数获取文件类型):
1.魔数枚举类
2.获取文件头,并校验是否为Excel
除了用上面的魔数头去校验,也可以用poi提供的枚举类FileMagic工具类去校验:
2.FileMagic校验文件头
FileMagic魔数值解释:
使用魔数校验Excel文件代码:
3.校验文件大小
为了避免上传过大文件,影响服务器性能以及带宽。需要对文件大小进行校验,具体文件大小控制以业务为主。
4.示例
以校验Excel文件为例:
到此这篇关于JAVA判断上传文件后缀名是否符合规范MultipartFile的文章就介绍到这了,更多相关java上传文件后缀名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!