2019-06-12

Spring boot with file upload

首先需配置一个Multipart File Resolver,只需在配置类中加入一个返回CommonsMultipartResolver对象Bean的multipartResolver方法:





@Configuration





publicclassImageUploaderConfig





@Bean





publicCommonsMultipartResolvermultipartResolver()





CommonsMultipartResolverresolver=newCommonsMultipartResolver();





resolver.setMaxUploadSize(1000000);





returnresolver;













在Controller中使用Apache commons.io来简化io操作





@PostMapping("/ImageUploaderAction")





@ModelAttribute





publicStringimageUploaderAction(Modelmodel,MultipartFilefile)





Stringinfo="TestDemo";





if(file==null)





info="Youmustselectaimagefile";





else





if(!file.getOriginalFilename().endsWith(".jpeg")&&





!file.getOriginalFilename().endsWith(".jpg")&&





!file.getOriginalFilename().endsWith("png"))





info="OnlysupportJPEG/PNGfiles";





else





try





FileUtils.writeByteArrayToFile(newFile(this.storagePath+file.getOriginalFilename()),





file.getBytes());





info="Uploadsuccessfully,yourimageURLis:["+this.baseUrl+file.getOriginalFilename()+"]";









catch(IOExceptione)





e.printStackTrace();





info="Failtouploadimage,checkyourfile";

















model.addAttribute("info",info);





return"ImageUploaderAction";









View中的form记得加入enctype="multipart/form-data"

没有评论:

发表评论