zoukankan      html  css  js  c++  java
  • springmvc 文件上传

    1.springmvc文件上传功能,使用的是apache提供的文件上传组件

        commons-fileupload-xxx.jar

        commons-io-xxx.jar

    2.在springmvc的配置文件中,添加文件上传解析器

               <!-- 文件上传解析器 -->
               <bean id="multipartResolver"
                            class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
                            p:maxUploadSize="34564356345456"
                            p:defaultEncoding="utf-8">
                            <!-- <property name="defaultEncoding" value="utf-8"></property> -->
               </bean>

    3.在jsp页面中做如下设置

         form标记的enctype属性值必须为:multipart/form-data

         form标记的method属性值必须为:post

         文件上传使用的html标记为:<input type="file" name="xxx" />

    4.在springmvc的控制器方法中,添加MultipartFile参数

                 @RequestMapping(value={"/add", "/insert"}, method={RequestMethod.POST})
                 public String add(String goodsName, MultipartFile photo, HttpServletRequest request){

                           //判断是否上传了文件
                           if(photo.isEmpty()==false){
                                   try{
                                              //保存的路径 c:Program Filesapache tomcat 7.0webappsspringmvc_2016110102files
                                              //获取files文件夹的绝对路径
                                              String path = request.getServletContext().getRealPath("files");
                                              String filePath = path +"/"+photo.getOriginalFilename();
                                              //存储文件
                                              photo.transferTo(new File(filePath));
                                     }catch(Exception ex){
                                                ex.printStackTrace();
                                     }
                           }

                            return "goods/list";
               }

    注意:为了避免上传的文件,因为文件名相同造成被覆盖的问题,可以将存储的新文件名称按uuid来命名。

             对于多文件上传的情况,只需要在控制器方法中添加MultipartFile[]数组参数即可。

  • 相关阅读:
    CCNP路由实验(4) -- BGP
    CCNP路由实验(3) -- 路由控制
    CCNP路由实验(2) -- OSPF
    什么是依赖注入
    java中接口的定义与实现
    火炬之光模型导出(Unity载入火炬之光的模型)
    【创新培育项目】为什么要组队參加比赛?及如何寻找一个合适的选题?
    oracle中schema指的是什么?
    介绍自己上架的第一个游戏
    unity 打包资源及网络请求资源包
  • 原文地址:https://www.cnblogs.com/Lchao/p/6491141.html
Copyright © 2011-2022 走看看