目录结构如下:

注意,下面说的配置文件,一般都是值的src下的配置文件,即mvc.xml。如果是web.xml,则直接说 web.xml

1. 文件上传的注意点

表单必须是post提交,必须将 enctype 设置为 “multipart/form-data”,

使用 commons-fileupload 提交文件,需要添加 commons-fileupload 和 commons-io 的 jar 包。

2.Jsp 页面

<form action="file/upload.do" method="post" enctype="multipart/form-data">
文件:<input type="file" name="file"/><input type="submit" value="上传"/>
</form>
</body>

3.Controller类

@Controller
//窄化
@RequestMapping("/file")
public class UploadController {@RequestMapping("/upload.do")public String upload(@RequestParam("file")CommonsMultipartFile file,HttpServletRequest req) throws Exception{String path=req.getServletContext().getRealPath("/upload");//获取文件名String fileName=file.getOriginalFilename();InputStream is = file.getInputStream();OutputStream os = new FileOutputStream(new File(path,fileName));byte[] buffer = new byte[400];int len=0;while((len=is.read(buffer))!=-1){os.write(buffer, 0, len);}os.close();is.close();return "redirect:/index.jsp";}
}

4. 在配置 文件中添加 multipartResolver

<!-- 文件上传配置 --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="1000000"/></bean>

附录:

附一,这里附上mvc.xml的文件内容

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="
        http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 注解开发适配器 --><bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> <!-- 配置视图解析器 --><bean id="viewResolver"class="org.springframework.web.servlet.view.UrlBasedViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><!-- 为响应的视图名称加上前缀  --><property name="prefix" value="/WEB-INF/jsp/"/><!-- 为响应的视图名称加上后缀  --><property name="suffix" value=".jsp"/></bean><!-- 文件上传配置 --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="1000000"/></bean><!-- 扫描注解类 --><context:component-scan base-package="cn.sxt.controller"/>
</beans>

这里再附上 WebContent/WEB-INF/ 下的 web.xml 文件内容

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>01springmvc_helloworld</display-name><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 改变springmvc配置文件的路径及名称 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:mvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list>
</web-app>

转载于:https://www.cnblogs.com/Vincent-yuan/p/11278749.html

java之spring mvc之文件上传相关推荐

  1. Mr.张小白(案例:基于Spring MVC实现文件上传和下载)

    基于Spring MVC实现文件上传和下载 一.步骤 1.引入相关依赖pom.xml <?xml version="1.0" encoding="UTF-8&quo ...

  2. Spring MVC的文件上传和下载以及拦截器

    一.文件上传 在使用form表单进行文件上传时,必须将method设置为 post,并将enctype设置为multipart/form-data.只有这样设置,浏览器才会将需要上传的文件已二进制数据 ...

  3. 【Spring MVC】文件上传、文件下载

    页面效果: 一.文件下载 1.访问资源时相应头如果没有设置 Content-Disposition,浏览器默认按照 inline 值进行处理 1.1 inline 能显示就显示,不能显示就下载. 2. ...

  4. Spring mvc,uploadifive 文件上传实践(转自:https://segmentfault.com/a/1190000004503262)

     1.前台页面: 引入js和css 全选复制放进笔记 <link type="text/css" rel="stylesheet" href=&quo ...

  5. Spring MVC 3:上传多个文件

    只是在办公室又漫长的一天,数据库不可用,一个团队成员现在滞后一周. 因此,我们必须作为一个团队来交付它. 在Spring3,它看起来很直接上传文件. 但是,从jsp文件上载多个文件几乎没有帮助. 上载 ...

  6. IDEA中Spring MVC实现图片上传并显示

    我们都知道web项目需要部署到tomcat服务器中运行 那么,我们又是如何通过tomcat来访问存放在本地磁盘中的图片呢?,通过tomcat访问本地图片,需要配置虚拟路径,下面介绍两种配置虚拟路径的方 ...

  7. spring test---restful与文件上传

    spring提供了大量经常使用的功能測试,如文件上传.restful风格url訪问.以下介绍主要介绍下test中经常使用功能的使用方法: 首先能够静态导入类.方便在測试类中使用,导入的类有 impor ...

  8. 项目_功能模块_基于Spring Boot的文件上传下载功能的设计与实现

    文章目录 基于Spring Boot的文件上传下载功能模块的设计与实现 1.前言 2.技术栈 3.关键源码 4.实现效果 4.1.登录 4.2.文件列表 4.3.上传文件测试 4.3.1.测试图片 4 ...

  9. Spring mvc 做图片上传

    Spring MVC做图片上传: 一.配置文件中首先配置文件上传路劲: 二.首先获取配置文件路劲当中的路劲并判断路劲是否存在,不存在用File类的mkdirs()创建:(url) 三.获取文件名称(f ...

最新文章

  1. CentOS 6.0安装RPMforge源
  2. java编写脚本校验修改密码_java编写一个更改密码校验程序,有两个密码框,一个用于输入新密码,另一个请输入确认密码……...
  3. php this 代表什么,php中$this-)是什么意思?
  4. 抓取html的地址怎么写,html js 获取地址栏参数
  5. Jenkins邮件配置,实现邮件发送策略(可实现每个Job对应不同的发送邮箱)
  6. STM32 进入Stop模式后电流还是很大怎么办?
  7. 小程序获取sessionkey_小程序,足不出户获取更多客源
  8. ES6-16 WeakMap与WeakSet、proxy与reflect
  9. php 输出时间差,php输出时间差
  10. 六个问题让你更懂 React Fiber
  11. 北京调频(FM)无线广播发射频率/频道表 (转载)
  12. R 编程语言 - 简介
  13. 计算机导论结业报告大一,河北工业大学计算机导论结业论文
  14. 拼多多卖家必知:店铺评分和评价那点事
  15. pytorch:线性回归实战
  16. java mail实现smtp登录验证
  17. win7电脑微信可以登录,但是网页无法访问
  18. 双阶乘C语言,c阶乘公式(排列组合与阶乘)
  19. 图解|什么是缓存系统三座大山
  20. 求e的近似值 (15分)

热门文章

  1. Django 3.2.5博客开发教程:实现网站首页
  2. Spark Operator资料收集
  3. linux 查看namenode进程是否存活:返回namenode进程个数
  4. maven error in opening zip file报错解决
  5. Linux time ls命令:用户态内核态分别占用多长时间
  6. MySQL等关系型数据库概述
  7. Java中int和short的取值范围_我的处理器上C中的int,short和其他数据类型的范围?...
  8. 手机900e模式如何救_苹果手机如何将显示模式改为黑底白字?这个简单!只需4步...
  9. seo模拟点击软件_网站用软件刷排名好不好?
  10. 从AndroidStudio同步上传项目代码到GitHub