Преглед на файлове

springMVC 练习文件上传功能

zhang преди 2 години
родител
ревизия
c519dfb17f

+ 10 - 0
springMvc/pom.xml

@@ -91,6 +91,16 @@
91 91
       <artifactId>lombok</artifactId>
92 92
       <version>1.18.24</version>
93 93
     </dependency>
94
+    <dependency>
95
+      <groupId>commons-io</groupId>
96
+      <artifactId>commons-io</artifactId>
97
+      <version>2.5</version>
98
+    </dependency>
99
+    <dependency>
100
+      <groupId>commons-fileupload</groupId>
101
+      <artifactId>commons-fileupload</artifactId>
102
+      <version>1.3.1</version>
103
+    </dependency>
94 104
   </dependencies>
95 105
 
96 106
 </project>

+ 1 - 0
springMvc/src/main/java/com/config/WebMvcConfig.java

@@ -32,6 +32,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
32 32
     }
33 33
     @Override
34 34
     public void addInterceptors(InterceptorRegistry registry) {
35
+        System.out.println(1);
35 36
 //        WebMvcConfigurer.super.addInterceptors(registry);
36 37
     }
37 38
 }

+ 1 - 0
springMvc/src/main/java/com/controller/RestfulController.java

@@ -33,4 +33,5 @@ public class RestfulController {
33 33
     public void rest4 (@CookieValue(value = "JSESSIONID") String sessionId) {
34 34
         System.out.println(sessionId);
35 35
     }
36
+
36 37
 }

+ 24 - 0
springMvc/src/main/java/com/controller/UploadFileController.java

@@ -0,0 +1,24 @@
1
+package com.controller;
2
+
3
+import org.springframework.stereotype.Controller;
4
+import org.springframework.web.bind.annotation.CookieValue;
5
+import org.springframework.web.bind.annotation.RequestMapping;
6
+import org.springframework.web.bind.annotation.ResponseBody;
7
+import org.springframework.web.multipart.MultipartFile;
8
+
9
+import javax.servlet.http.HttpServletRequest;
10
+import java.io.File;
11
+import java.io.IOException;
12
+
13
+@Controller
14
+public class UploadFileController {
15
+    // http://localhost:8083/template/upload_file.jsp
16
+    @RequestMapping("/uploadFile")
17
+    @ResponseBody
18
+    public String uploadFile (String name, MultipartFile file1) throws IOException {
19
+        System.out.println(12312);
20
+        String originalFilename = file1.getOriginalFilename();
21
+        file1.transferTo(new File("D:\\javaProject\\" + originalFilename));
22
+        return "upload_file";
23
+    }
24
+}

+ 4 - 0
springMvc/src/main/java/com/interceptor/InterceptorConfig.java

@@ -14,4 +14,8 @@ public class InterceptorConfig {
14 14
     public MappedInterceptor myInterceptor2() {
15 15
         return new MappedInterceptor(new String[]{"/save"},null,new MyInterceptor());
16 16
     }
17
+    @Bean
18
+    public String getStr() {
19
+        return "str";
20
+    }
17 21
 }

+ 8 - 4
springMvc/src/main/resources/Spring-mvc.xml

@@ -18,10 +18,10 @@
18 18
 
19 19
 <!--    <mvc:annotation-driven></mvc:annotation-driven>-->
20 20
 <!--    配置内部资源解析器-->
21
-<!--    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
22
-<!--        <property name="prefix" value="/template/"></property>-->
23
-<!--        <property name="suffix" value=".jsp"></property>-->
24
-<!--    </bean>-->
21
+        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
22
+            <property name="prefix" value="/template/"></property>
23
+            <property name="suffix" value=".jsp"></property>
24
+        </bean>
25 25
 <!--       <mvc:interceptors>-->
26 26
 <!--           <mvc:interceptor>-->
27 27
 <!--               <mvc:mapping path="/save"/>-->
@@ -48,5 +48,9 @@
48 48
                 </list>
49 49
             </property>
50 50
         </bean>
51
+<!--        配置文件上传解析器-->
52
+        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
53
+            <property name="defaultEncoding" value="UTF-8"></property>
54
+        </bean>
51 55
 
52 56
 </beans>

+ 23 - 0
springMvc/src/main/webapp/template/upload_file.jsp

@@ -0,0 +1,23 @@
1
+<%--
2
+  Created by IntelliJ IDEA.
3
+  User: 77179
4
+  Date: 2022/5/17
5
+  Time: 20:36
6
+  To change this template use File | Settings | File Templates.
7
+--%>
8
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
9
+<html>
10
+<head>
11
+    <title>Title</title>
12
+</head>
13
+<body>
14
+    <form action="${pageContext.request.contextPath}/uploadFile" method="post"
15
+        enctype="multipart/form-data"
16
+    >
17
+        文件<input type="file" name="file1"><br/>
18
+        名字<input type="text" name="name"><br/>
19
+        <input type="submit" value="提交">
20
+
21
+    </form>
22
+</body>
23
+</html>