一 步骤:
1.校验文件上传的类型 jpg|png|gif
* 2.应该校验文件是否为恶意程序. 木马.exe.jpg
* 3.为了提高检索效率 应该分目录存储. 1.hash方式 xx/xx/xx/xx 分布不均
* 2.日期格式 yyyy/MM/dd 目录不断增长
* 4.防止文件重名 UUID.jpg
5.实现文件上传操作
6 封装VO对象
二 代码:
public ImageVO upload(MultipartFile file) {
1.图片类型的校验 正则表达式 aaa.jpg
String fileName = file.getOriginalFilename();
//字符大小写 干扰正则的判断 将所有的文件转化为小写字母
fileName = fileName.toLowerCase();
//程序不满足正则, 则用户上传的图片有问题
if(!fileName.matches("^.+\\.(jpg|png|gif)$")){
return null;
}
2.. 校验文件是否为恶意程序 判断依据 属性宽度和高度 aa.exe.jpg
try {
//该对象是用来专门操作图片的API
BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
int height = bufferedImage.getHeight();
int width = bufferedImage.getWidth();
//如果有一项为0 则表示一定不是正经的图片
if(height == 0 || width == 0){
return null;
}