当前位置: 首页 > 后端技术 > Java

文件上传工具

时间:2023-04-02 02:14:38 Java

包com.xiaoan.utils;导入org.apache.commons.io.filefilter.SuffixFileFilter;导入org.springframework.web.multipart.MultipartFile;导入java.io.File;导入java.io.IOException;导入java.util。HashMap;importjava.util.Map;importjava.util.UUID;/***@author23105*@version1.0*@description:上传文件的工具类*@date13/2/20235:55pm*/publicclassUploadFile{//存储文件上传失败的错误信息privatestaticMaperror_result=newHashMap<>();//存储头像上传结果信息privatestaticMapupload_result=newHashMap<>();/***@description:验证上传图片的大小和格式...*@param:photo*@param:path*@return:java.util.Map*/privatestaticMapuploadPhoto(MultipartFilephoto,Stringpath){//限制头像大小(20M)intMAX_SIZE=20971520;//获取图片原名StringorginalName=photo.getOriginalFilename();//如果保存文件的路径不存在,则创建目录FilefilePath=newFile(path);如果(!filePath.exists()){filePath.mkdirs();}//限制上传文件的大小if(photo.getSize()>MAX_SIZE){error_result.put("success",false);error_result.put("msg","上传的图片大小不能超过20M!");返回错误结果;}//限制上传的文件类型String[]suffixs=newString[]{".png",".PNG",".jpg",".JPG",".jpeg",".JPEG",".gif",".GIF",".bmp",".BMP"};SuffixFileFiltersuffixFileFilter=newSuffixFileFilter(suffixs);如果(!suffixFileFilter.accept(newFile(path+orginalName))){error_result.put("成功",false);error_result.put("msg","禁止上传此类文件!请上传图片!");返回错误结果;}返回空值;}/***@description:(提取公共代码:提高代码复用性)获取头像上传结果信息*@param:photo*@param:dirPaht*@param:portraitPath*@return:java.util.Map*/publicstaticMapgetUploadResult(MultipartFilephoto,StringdirPaht,StringportraitPath){if(!photo.isEmpty()&&photo.getSize()>0){//获取图片原名StringorinalName=photo.getOriginalFilename();//上传图片,error_result:存放头像上传失败的错误信息Maperror_result=UploadFile.uploadPhoto(photo,dirPaht);如果(错误结果!=null){返回错误结果;}//使用UUID重命名图片名称(uuid__原始图片名称)StringnewPhotoName=UUID.randomUUID()+"__"+orginalName;//将上传的文件保存到目标目录try{photo.transferTo(newFile(dirPaht+newPhotoName));上传结果.put("成功",真);upload_result.put("portrait_path",portraitPath+newPhotoName);//返回存放头像的item到页面的路径}catch(IOExceptione){e.printStackTrace();upload_result.put("成功",false);upload_result.put("msg","上传文件失败!服务器端异常!");返回上传结果;}}else{upload_result.put("成功",false);upload_result.put("msg","头像上传失败!没有找到指定的图片!");}返回上传结果;}}