文件上传
Posted 97guoxiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件上传相关的知识,希望对你有一定的参考价值。
package com.sxt.controller; import java.io.File; import java.io.IOException; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile; import com.sxt.utils.RandomStrUtils; @Controller @RequestMapping("upload") public class FileUploadController { /** * 文件上传1 */ @RequestMapping("upload01") public String upload01(MultipartFile mf,HttpSession session){ System.out.println(mf); System.out.println("文件类型:"+mf.getContentType()); System.out.println("表单里面的name属性值:"+mf.getName()); System.out.println("文件名:"+mf.getOriginalFilename()); System.out.println("文件大小:"+mf.getSize()); //System.out.println(""+mf.getInputStream()); //1,得到tomcat里面的upload目录 String realPath=session.getServletContext().getRealPath("/upload/"); //2,构造文件 File file=new File(realPath,mf.getOriginalFilename()); //3,上传 try { mf.transferTo(file); } catch (IllegalStateException | IOException e) { e.printStackTrace(); } return "../success.jsp"; } /** * 文件上传2 改名字 */ @RequestMapping("upload02") public String upload02(MultipartFile mf,HttpSession session){ String oldName=mf.getOriginalFilename(); //1,得到tomcat里面的upload目录 String realPath=session.getServletContext().getRealPath("/upload/"); String newName=RandomStrUtils.createFileNameUseTime(oldName); //2,构造文件 File file=new File(realPath,newName); //3,上传 try { mf.transferTo(file); } catch (IllegalStateException | IOException e) { e.printStackTrace(); } return "../success.jsp"; } /** * 文件上传3 改名字 分文件夹管理 */ @RequestMapping("upload03") public String upload03(MultipartFile mf,HttpSession session){ //1,得到老名字 String oldName=mf.getOriginalFilename(); //2,得到tomcat里面的upload目录 String realPath=session.getServletContext().getRealPath("/upload/"); //3,得到当前时间2020-05-03 String currentDate=RandomStrUtils.getCurrentDateToStr(); //4,得到新的父目录的路径 并判断是否存在 如果不存在就创建 String newRealPath=realPath+"/"+currentDate; File parentFile=new File(newRealPath); if(!parentFile.exists()){ parentFile.mkdirs();//创建文件夹 } //5,得到新名字 String newName=RandomStrUtils.createFileNameUseTime(oldName); //6,构造文件 File file=new File(parentFile,newName); //3,上传 try { mf.transferTo(file); } catch (IllegalStateException | IOException e) { e.printStackTrace(); } return "../success.jsp"; } }
以上是关于文件上传的主要内容,如果未能解决你的问题,请参考以下文章
ajaxFileUpload上传带参数文件及JS验证文件大小