Java MultipartFile实现上传文件/上传图片
1.判断允许上传文件的文件后缀/图片后缀/相片后缀和其它工具类
importorg.springframework.stereotype.Component; importjava.io.File; importjava.util.Arrays; importjava.util.List; @Component publicclassFileUtil{ publicstaticfinalListIMAGE_EXTENSIONS=Arrays.asList(".jpg",".jpeg",".png"); } importjava.util.UUID; publicclassCommonUtil{ publicstaticStringgetUUID(){ Stringuuid=UUID.randomUUID().toString().replaceAll("-",""); returnuuid; } } importjava.time.LocalDateTime; importjava.time.format.DateTimeFormatter; publicclassDateUtil{ publicstaticfinalStringHH="HH"; publicstaticfinalStringYYYY_MM_DD="yyyy-MM-dd"; publicstaticfinalDateTimeFormatterFORMATTER_HH=DateTimeFormatter.ofPattern(HH); publicstaticfinalDateTimeFormatterFORMATTER_YYYY_MM_DD=DateTimeFormatter.ofPattern(YYYY_MM_DD); publicstaticStringgetHH(){ returnFORMATTER_HH.format(LocalDateTime.now()); } publicstaticStringgetYYYYMMDD(){ returnFORMATTER_YYYY_MM_DD.format(LocalDateTime.now()); } }
2.上传接口
@PostMapping("/updateImage.do") publicMapupdateImage(@RequestParam("image")MultipartFile[]multfiles){ Map result=newHashMap<>(); if(multfiles.length==0){ result.put("message","请选择图片!"); returnresult; } //源文件名称 finalStringoriginalFileName=multfiles[0].getOriginalFilename(); if(StringUtils.isBlank(originalFileName)){ result.put("message","请选择图片!"); returnresult; } //文件后缀[.jpg] finalStringsuffix=originalFileName.substring(originalFileName.lastIndexOf(".")).toLowerCase(); if(!FileUtil.IMAGE_EXTENSIONS.contains(suffix)){ result.put("message","图片格式错误!"); returnresult; } StringlastFilePath; StringnewFileName=CommonUtil.getUUID()+suffix; StringfolderName=File.separator+"temp"+File.separator; StringrelativePath=folderName+DateUtil.getYYYYMMDD()+File.separator+DateUtil.getHH(); StringfilePath="D:\\file"+relativePath; StringfileUrl=null; FiletargetFile=newFile(filePath); if(!targetFile.exists()){ targetFile.mkdirs(); } FileOutputStreamout=null; try{ lastFilePath=filePath+File.separator+newFileName; out=newFileOutputStream(lastFilePath); out.write(multfiles[0].getBytes()); fileUrl="http://127.0.0.1:9000"+relativePath+File.separator+newFileName; }catch(Exceptione){ e.printStackTrace(); }finally{ if(out!=null){ try{ out.flush(); }catch(IOExceptione){ e.printStackTrace(); } try{ out.close(); }catch(IOExceptione){ e.printStackTrace(); } } } if(fileUrl==null){ result.put("message","图片上传失败!"); returnresult; } result.put("message","上传成功!"); result.put("url",fileUrl); returnresult; }
3.上传成功
url=>http://127.0.0.1:9000/temp/2019-09-12/14/0eac00b96f134652b34172e84febe8d1.jpg
以上就是JavaMultipartFile实现上传文件/上传图片的详细内容,更多关于JavaMultipartFile上传文件的资料请关注毛票票其它相关文章!