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[]数组参数即可。

  • 相关阅读:
    全排列(next_permutation)
    Codeforces Round #321 (Div. 2)C(tree dfs)
    cf_ducational Codeforces Round 16_D(gcd)
    cf455a(简单dp)
    cf584a(水题)
    cf112a(水题)
    冒泡排序
    Python内置类型性能分析
    常见时间复杂度
    MongoDB 备份
  • 原文地址:https://www.cnblogs.com/Lchao/p/6491141.html
Copyright © 2011-2022 走看看