千家信息网

SpringMVC如何上传文件

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"SpringMVC如何上传文件",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringMVC如何上传文件"吧!八、SpringM
千家信息网最后更新 2026年11月03日SpringMVC如何上传文件

这篇文章主要讲解了"SpringMVC如何上传文件",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringMVC如何上传文件"吧!

八、SpringMVC上传文件

1、配置web.xml允许访问*.jpg

在web.xml中新增加一段

                    default            *.jpg        

表示允许访问*.jpg。
为什么要加这一段呢? 因为配置springmvc的servlet的时候,使用的路径是"/",导致静态资源在默认情况下不能访问,

所以要加上这一段,允许访问jpg。 并且必须加在springmvc的servlet之前
如果你配置spring-mvc使用的路径是/*.do,就不会有这个问题了。

                                     

3、upload.jsp 上传页面

上传页面,需要注意的是form 的两个属性必须提供method="post" 和 enctype="multipart/form-data" 缺一不可
上传组件 增加一个属性 accept="image/*" 表示只能选择图片进行上传
留意 这个image,后面会用到这个image

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8" import="java.util.*" isELIgnored="false"%>  
选择图片:

注:enctype就是encodetype就是编码类型的意思。

multipart/form-data是指表单数据有多部分构成,既有文本数据,又有文件等二进制数据的意思。

4、准备UploadedImageFile

在UploadedImageFile中封装MultipartFile类型的字段 image ,用于接受页面的注入
这里的字段 image必须和上传页面upload.jsp中的image
保持一致

package pojo; import org.springframework.web.multipart.MultipartFile; public class UploadedImageFile {    MultipartFile image;     public MultipartFile getImage() {        return image;    }     public void setImage(MultipartFile image) {        this.image = image;    } }

5、UploadController 上传控制器

新建类UploadController 作为上传控制器
准备方法upload 映射上传路径/uploadImage
1. 方法的第二个参数UploadedImageFile 中已经注入好了 image
2. 通过 RandomStringUtils.randomAlphanumeric(10);获取一个随机文件名。 因为用户可能上传相同文件名的文件,

为了不覆盖原来的文件,通过随机文件名的办法来规避
3. 根据request.getServletContext().getRealPath 获取到web目录下的image目录,用于存放上传后的文件。
4. 调用file.getImage().transferTo(newFile); 复制文件
5. 把生成的随机文件名提交给视图,用于后续的显示

package controller; import java.io.File;import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.xwork.RandomStringUtils;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView; import pojo.UploadedImageFile; @Controllerpublic class UploadController {     @RequestMapping("/uploadImage")    public ModelAndView upload(HttpServletRequest request, UploadedImageFile file)            throws IllegalStateException, IOException {        String name = RandomStringUtils.randomAlphanumeric(10);        String newFileName = name + ".jpg";        File newFile = new File(request.getServletContext().getRealPath("/image"), newFileName);        newFile.getParentFile().mkdirs();        file.getImage().transferTo(newFile);         ModelAndView mav = new ModelAndView("showUploadedFile");        mav.addObject("imageName", newFileName);        return mav;    }}

6、showUploadedFile.jsp 显示图片的页面

在WEB-INF/page 下新建文件showUploadedFile 显示上传的图片

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8" isELIgnored="false"%> 

感谢各位的阅读,以上就是"SpringMVC如何上传文件"的内容了,经过本文的学习后,相信大家对SpringMVC如何上传文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

文件 配置 页面 图片 文件名 就是 数据 路径 学习 内容 字段 属性 情况 意思 控制器 方法 目录 类型 问题 加一 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 广州紫鲸互联网科技有限公司 互联网科技行业发展 互联网科技社 港股互联网科技股 科技与互联网发展 善班互联网科技有限公司 中国科技互联网公司收入 互联网系的金融科技公司 贵州叶脉互联网科技有限公司所属行业 昊天互联网科技有限公司 中国航天科技大学国际工业互联网 阿大互联网科技有限公司 华中科技大学互联网的牛人 互联网金融科技公司的优势 互联网与数字科技关系 云鲸互联网络科技有限公司 互联网公司属于科技吗 互联网金融运营模式中的金融科技 颐高云石互联网科技 手冲咖啡和咖啡机区别 科技与互联网 科技创新互联网企业 时间互联网络科技 湖南诚度互联网科技有限公司 崇明区互联网教育科技售后服务 互联网科技扶贫时间 南博望互联网科技有限公司 工业互联网科技成果转化 三亚科技创新互联网基地
0