文件上传之Springmvc方式上传

it2025-11-15  22

文件上传之Springmvc方式上传

1.文件上传之Springmvc方式上传原理分析 2.在index.jsp编写如下代码:

<%-- Created by IntelliJ IDEA. User: Adair Date: 2020/7/2 0002 Time: 16:07 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head> <title>首页</title> </head> <body> <h3>Springmvc文件上传的方式</h3> <form action="/file/fileupload02" method="post" enctype="multipart/form-data"> 选择文件:<input type="file" name="upload" /><br/> <input type="submit" value="上传" /> </form> </body> </html>

3.在springmvc.xml文件配置文件解析器对象的代码如下:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 开启注解扫描 --> <context:component-scan base-package="com.txw"/> <!-- 视图解析器对象 --> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--文件所在的目录--> <property name="prefix" value="/WEB-INF/pages/"/> <!--文件的后缀名--> <property name="suffix" value=".jsp"/> </bean> <!--前端控制器,哪些静态资源不拦截--> <mvc:resources location="/css/" mapping="/css/**"/> <mvc:resources location="/images/" mapping="/images/**"/> <mvc:resources location="/js/" mapping="/js/**"/> <!--配置文件解析器对象--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="10485760" /> </bean> <!-- 开启SpringMVC框架注解的支持 --> <mvc:annotation-driven/> </beans>

4.创建文件上传控制器类控制器类的代码如下:

package com.txw.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.util.UUID; /** * 文件上传的处理类 * @author Adair */ @Controller @RequestMapping(path ="/file") @SuppressWarnings("all") // 注解警告信息 public class FileUploadController { /** * SpringMVC文件上传 * @return */ @RequestMapping("/fileupload02") public String fileuoload02(HttpServletRequest request, MultipartFile upload) throws Exception { System.out.println("springmvc文件上传..."); // 使用fileupload组件完成文件上传 // 上传的位置 String path = request.getSession().getServletContext().getRealPath("/uploads/"); // 判断,该路径是否存在 File file = new File(path); if(!file.exists()){ // 创建该文件夹 file.mkdirs(); } // 说明上传文件项 // 获取上传文件的名称 String filename = upload.getOriginalFilename(); // 把文件的名称设置唯一值,uuid String uuid = UUID.randomUUID().toString().replace("-", ""); filename = uuid+"_"+filename; // 完成文件上传 upload.transferTo(new File(path,filename)); return "success"; } }

5.使用TomCat运行结果如图: 6.通过浏览器访问http://localhost:8080/index.jsp结果如图所示: 7.点击上传的按钮会跳转到如图所示的界面: 8.控制台打印结果如图所示:

最新回复(0)