ToB企服应用市场:ToB评测及商务社交产业平台

标题: SpringMVC实现文件上传 [打印本页]

作者: 渣渣兔    时间: 2024-7-24 00:55
标题: SpringMVC实现文件上传

 导入文件上传相关依赖

  1. <!--文件上传-->
  2. <dependency>
  3.   <groupId>commons-fileupload</groupId>
  4.   <artifactId>commons-fileupload</artifactId>
  5.   <version>1.3.1</version>
  6. </dependency>
  7. <dependency>
  8.   <groupId>commons-io</groupId>
  9.   <artifactId>commons-io</artifactId>
  10.   <version>2.4</version>
  11. </dependency>
复制代码
编写前端jsp页面 和文件 上传的表单

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>文件上传</title>
  5. </head>
  6. <body>
  7. <h3>文件上传</h3>
  8. <%--enctype="multipart/form-data" 声明该表单是做文件上传的表单--%>
  9. <form action="/fileupload.do" method="post" enctype="multipart/form-data">
  10.     选择文件:<input type="file" name="upload" /><br/>
  11.     <input type="submit" value="上传" />
  12. </form>
  13. </body>
  14. </html>
复制代码
配置文件 利用SpringMVC进行文件上传,并指定文件上传巨细

  1. <!--配置文件上传的解析器组件。id的名称是固定,不能乱写-->
  2. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  3.     <!--设置上传文件的总大小 8M = 8 * 1024 * 1024 -->
  4.     <property name="maxUploadSize" value="8388608" />
  5. </bean>
  6. <!--让映射器、适配器和处理器生效(默认不配置也是可以的)-->
  7. <mvc:annotation-driven/>
复制代码
编写逻辑代码:

  1. @Controller
  2. //文件上传
  3. public class UploadController {
  4.     /**
  5.      * 文件上传
  6.      *
  7.      * MultipartFile upload 文件上传解析器对象,解析request后,文件上传对象
  8.      *
  9.      * @return
  10.      */
  11.     @RequestMapping("/fileupload.do")
  12.     public String upload(MultipartFile upload, HttpServletRequest request) throws IOException {
  13.         // 把文件上传到哪个位置,realPath获取本次会话路径下面的"/uploads"文件夹下
  14.         String realPath = request.getSession().getServletContext().getRealPath("/uploads");
  15.         // 在绝对路径下  创建该文件夹
  16.         File file = new File(realPath);
  17.         // 判断该文件夹是否存在
  18.         if(!file.exists()){
  19.             // 创建文件夹,程序严谨性
  20.             file.mkdirs();
  21.         }
  22.         // 获取到上传文件的名称
  23.         String filename = upload.getOriginalFilename();
  24.         // 把文件的名称修改成为一的值 sdfs-csdf-fwer-sdfw
  25.         String uuid = UUID.randomUUID().toString().replace("-", "").toUpperCase();
  26.         // 唯一的值
  27.         filename = uuid+"_"+filename;
  28.         System.out.println("文件名称:"+filename);
  29.         // 上传文件
  30.         upload.transferTo(new File(file,filename));
  31.         return "suc";
  32.     }
  33. }
复制代码










免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4