文件上传

1、上传
1.默认情况下上传的参数名必须和表单元素的name属性值一致,文件上传表单的name属性值
必须和文件上传方法的MultipartFile参数名一致。
    方法:
@RequestMapping("/upload")
@ResponseBody
public ServerResponse upload(HttpServletRequest request,String uploaderUser, MultipartFile uploadFile) throws IOException {
//1.获取上传文件的原始名称
String originFileName = uploadFile.getOriginalFilename();
System.out.println("====upload===>originFileName:"+originFileName);
//2.随机生成一个文件名 随机名+文件后缀
String newFileName = UUID.randomUUID().toString()+originFileName.substring(originFileName.lastIndexOf("."));
//3.文件存储到tomcat服务器的webapps的项目的工程 upload文件夹下
//3.1 动态获取tomcat服务器的路径
String rootPath = request.getServletContext().getRealPath("/WEB-INF")+"/images/";

File file =new File(rootPath,newFileName);
//将文件保存到磁盘:
uploadFile.transferTo(file);
return ServerResponse.ok(null);
}


2、文件上传导入依赖(uploadfile)和配置文件上传解析器
<!-- 文件上传解析器-->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为5MB -->
<property name="maxUploadSize">
<value>5242880</value>
</property>
</bean>

  3、配置spring mvc静态资源的映射 spring-web.xml中
<!-- 5、静态资源映射
mapping : 客户端浏览器路径 images/1.jpg images/product/2.jpg
location: 项目根据路径的下的指定目录下 /WEB-INF/images/1.jpg /WEB-INF/images/2.jpg
-->
<mvc:resources mapping="/images/**" location="/WEB-INF/images/"></mvc:resources>
posted on 2020-12-27 18:00  茕茕孑立!  阅读(74)  评论(0)    收藏  举报