问题描述:
在上传zip文件时,用方法getContentType获取的内容类型来进行匹配,google浏览器正常,而火狐浏览器则是不匹配
后经debug看到获取的内容类型则不一样,火狐的如下:
Google浏览器如下:
所以是浏览器的不同对contentType的类型也有所不同,具体对应类型如下下链接:
https://blog.csdn.net/meimingming/article/details/7441944
用contentType方法的代码如下:
if(!FileTypeEnum.FILE_TYPE_ZIP.type.equals(pictureFile.getContentType()))
return ResultWrapper.wrapMap(ResultWrapper.RETURN_ERROR, null, "上传文件不是ZIP格式");
所以此处要是想通用各个浏览器,见如下代码:
//此处是通过获取文件名来截取后缀名
String substring = pictureFile.getOriginalFilename().substring(pictureFile.getOriginalFilename().lastIndexOf(".") + 1);
if(!"ZIP".equals(substring.toUpperCase()))
return ResultWrapper.wrapMap(ResultWrapper.RETURN_ERROR, null, "上传文件不是ZIP格式");
但从网上找了一下,说这种截取后缀名来判断文件并非是安全的,链接:
https://blog.csdn.net/qq_33172029/article/details/84260282