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

  • 相关阅读:
    MongoDB 基础命令行
    AngularJS 监控对象属性:$watch和$digest
    AngularJS核心01:如何启动
    免费的编程中文书籍索引
    AngularJS Intellisense in Visual Studio 2012
    SQL Server中Rowcount与@@Rowcount
    VS 关于 .sln 文件和 .suo 文件
    Dart 基础重点截取 Dart 2 20180417
    io.netty.resolver.dns.DnsNameResolverContext
    mybatis BigDecimal Double Long 的坑爹事
  • 原文地址:https://www.cnblogs.com/Lchao/p/6491141.html
Copyright © 2011-2022 走看看