火狐和Google浏览器的MultipartFile类的getContentType方法获取压缩包的后缀问题

问题描述:

在上传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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值