你知道springmvc实现文件上传要怎样做吗?下面的文章内容要给大家介绍的就是和这个方面相关的内容,一起来了解一下。
文件的上传和下载基本上的话都是web项目当中会使用得到的技术,在web学习当中用到的是Apache fileupload这个组件来实现上传,在springmvc当中,对它进行了封装,这使得使用变得更加的方便,可是,底层是由Apache fileupload来实现的,springmvc当中,由MultipartFile接口来实现文件上传。
MultipartFile接口用来实现springmvc当中的文件上传的操作。
有两个实现类:
接口定义方法:
实现文件上传
导入jar包,commons-fileupload;commons-io;
commons-io能够不用自己导入,maven会自动导入对应版本的jar;
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.2</version> </dependency>
前端jsp页面
input的type设置成file;form表单的method设置成post;form表单的enctype设置成multipart/form-data(以二进制的形式传输数据);
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>Insert title here</title> </head> <body> <form action="/ssm/file/imgUpload" enctype="multipart/form-data" method="post"> <input type="file" name="file"><br><br> <input type="submit" value="上传"> </form> </body> </html>
Controller层接收
使用MultipartFile对象作为参数,接收前端发送过来的文件,将文件写入本地文件中,上传操作完成;
@RequestMapping("/upload") public String upload(@RequestParam("file") MultipartFile file, HttpServletRequest req) throws IllegalStateException, IOException { // 判断文件是否为空,空则返回失败页面 if (file.isEmpty()) { return "failed"; } // 获取文件存储路径(绝对路径) String path = req.getServletContext() .getRealPath("/WEB-INF/file"); // 获取原文件名 String fileName = file.getOriginalFilename(); // 创建文件实例 File filePath = new File(path, fileName); // 如果文件目录不存在,创建目录 if (!filePath.getParentFile() .exists()) { filePath.getParentFile() .mkdirs(); System.out.println("创建目录" + filePath); } // 写入文件 file.transferTo(filePath); return "success"; }
springmvc.xml配置CommonsMultipartResolver
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--上传文件的最大大小,单位为字节 --> <property name="maxUploadSize" value="17367648787"></property> <!-- 上传文件的编码 --> <property name="defaultEncoding" value="UTF-8"></property> </bean>
springmvc上传文件的实现你都清楚了吗?springmvc也是经常会接触到的,假如你还想了解更多springmvc以及java基础知识,欢迎继续通过奇Q工具网来了解。
推荐阅读: