Spring MVC上传文件步骤详解

SpringMVC上传文件

1、配置虚拟目录

方法一、在eclipse中设置:双击tomcat,在Web Modules中点击“Add External Web Module”,在窗口中添加相应虚拟目录地址。具体如下图所示

方法二、在tomcat配置文件中设置:tomcat安装目录下conf/server.xml中添加:

<Context docBase=" E:\dev\eclipse\upload\images"path="/pic" reloadable="false"/>


 

 

2、配置解析器

<bean id="multipartResolver"

      class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

      <!--设置上传文件的最大尺寸为5MB -->

      <propertyname="maxUploadSize">

         <value>5242880000000</value>

      </property>

</bean>

 

 

3、导入jar包

CommonsMultipartResolver解析器依赖commons-fileupload和commons-io,加入如下jar包即可:

 

4、文件上传代码

4.1 Controller代码

@RequestMapping("uploadCourse")

   public ModelAndView uploadCourse(

         MultipartFile course_pic,//接收图片,这个名字要和页面上的文件名要求一致)throws Exception {

      //原始图片名称

      String originalFilename =course_pic.getOriginalFilename();

      //上传图片

         if (course_pic!=null &&originalFilename != null &&originalFilename.length() > 0) {

 

         // 存储图片的物理路径

         String pic_path = "E:\\dev\\eclipse\\upload\\images\\";

 

         // 新的图片名称

         String newFileName = UUID.randomUUID() +originalFilename.substring(originalFilename.lastIndexOf("."));

         // 新图片

         File newFile = new File(pic_path +newFileName);

 

         // 将内存中的数据写入磁盘

         course_pic.transferTo(newFile);

 

         // 将新图片名称写到中

         course.setCoursepic(newFileName);

 

      }

        ......

      ModelAndView mv = new ModelAndView();

      mv.setViewName("admin/courseAdd");

      returnmv;

   }

 

4.2 Jsp页面代码

表单属性中添加enctype="multipart/form-data",需要注意的是input输入框中name属性的值要与controller中定义的形参名称一致。

 

<form method="post"action="${pageContext.request.contextPath }/uploadCourse"enctype="multipart/form-data">

   <tr>

        <tdclass="lable">课程图片</td>

        <td><inputtype="file" name="course_pic"id="image"/></td>

    </tr>

      ......

       <inputtype="submit"value="确认添加"class="button"/>

       <inputtype="reset" value="重置"class="button"id="reset"/>

</form>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值