这篇文章主要讲解了弹簧引导如何整合web层,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
春季启动中对Spring MVC的文件上传是一脉相传的,我们双击移去搜CommonsMultipartResolver这个类,它是文件上传的一个实现类。我们先看一下源码:
包com.zl.upload; 进口org.springframework.web.bind.annotation.PostMapping; 进口org.springframework.web.bind.annotation.RestController; 进口org.springframework.web.multipart.MultipartFile; 进口javax.servlet.http.HttpServletRequest; 进口java.io.File; 进口java.io.IOException; 进口java.text.SimpleDateFormat; 进口java.util.Date; 进口java.util.UUID; 进口java.util.logging.SimpleFormatter; @RestController 公开课UploadController { SimpleDateFormat党卫军=new SimpleDateFormat (“/MM/dd/yyyy“); @PostMapping (“/upload")//请求HttpServletRequest获取缓存地址,一般这里使用图片服务器 公共字符串上传(MultipartFile MultipartFile HttpServletRequest请求){//图片保存在项目的运行路径下 字符串格式=ss.format(新日期()); 字符串realpath=request.getServletContext () .getRealPath (“img") +格式;//创建保存的文件夹 文件f=新文件(realpath); 如果(! f.exists ()) { f.mkdirs (); }//因为文件名可能会重复,所以要对文件名进行修改 字符串oldName=multipartFile.getOriginalFilename (); System.out.println (oldName); 字符串新名称=UUID.randomUUID () .toString () + oldName.substring (oldName.lastIndexOf (“!”);//保存图片 尝试{ multipartFile。transferTo(新文件(f,新名称));//获取路径,动态获取,因为有可能是http,也有可能是HTTPS 字符串路径=request.getScheme () +“://,+ request.getServerName () +“:“;+ request.getServerPort () +“/img"+格式+新名称; 返回路径; }捕捉(IOException e) { e.printStackTrace (); } 返回“error"; } }
第一步,创建文件的存放地址,和路径
第二步,修改文件名
第三步,保存文件(文件件,和文件名)
后端的处理就完的了,我们看一下前台如何处理
& lt; !DOCTYPE html> & lt; html lang=癳n"祝辞 & lt; head> & lt;元charset=癠TF-8"祝辞 & lt; title>文件上传& lt;/title> & lt;/head> & lt; body> action=& lt;形式“/upload"方法=皃ost"enctype=岸嗖糠?form-data"比; & lt;输入类型=癴ile"name=癿ultipartFile"比; & lt;输入类型=皊ubmit"值=https://www.yisu.com/zixun/碧峤?> 形式 身体>