• springboot2.0上传文件接收不到文件数据解决


    springboot2.0里貌似不需要添加额外的jar就可以上传了

    首先要配置好bean:

      

     1 @Configuration
     2 public class Config {
     3 
     4     @Bean
     5     public MultipartConfigElement multipartConfigElement(){
     6         MultipartConfigFactory factory=new MultipartConfigFactory();
     7         factory.setMaxFileSize("5MB");
     8         factory.setMaxRequestSize("5MB");
     9         return factory.createMultipartConfig();
    10     }
    11 }

    然后页面的form表单必须要有 enctype="multipart/form-data" 属性:

      

     1 <form class="form-horizontal" method="POST" action="/uploading" enctype="multipart/form-data">
     2                 文件名称:<input type="text" name="fileName">
     3                 选择文件<input type="file" id="upload" name="file"/>
     4                 <div class="form-group">
     5                     <div>
     6                         <button type="submit" class="btn btn-success" id="btn_upload">提交</button>
     7                         <input type="reset" class="btn btn-danger" value="重置"/>
     8                     </div>
     9                 </div>
    10             </form>

    然后方法中要有 MultipartFile 参数,如果时接收多个图片的话可以写成数组就好 MultipartFile[ ] ,还有问题的话得在这个参数前加上@RequestParam注解,注解的value属性就是这儿参数的参数名.

    还有一种不通过这个参数接收上传的文件,直接从request中获取,需要参数 HttpServletRequest 参数.

    然后将这个request转成 MultipartHttpServletRequest ,然后 getFiles("name值") 获取到指定name值的文件,这里返回的是一个list集合,就是说可以获取多个相同name属性值的文件.

    还有其他的api获取文件,getFile() 获取指定名称的单个文件,前提是name属性值唯一操作和使用 MultipartFile 参数一样,因为这个方法返回的就是这个对象,

    还有 getFileMap() 方法返回一个 MultipartFile 类型的map集合,map集合的key是唯一不重复的,所以前端传过来的name值不能相同,不然没法用这个.然后根据key找value,value就是一个 MultipartFile 对象.

    最后一个就是 getMultiFileMap() 这个其实跟 getFileMap() 用法是一样的

    其实还有一个 getFileNames() ,这个没搞明白用来干嘛的...

  • 相关阅读:
    BZOJ 3196 二逼平衡树
    BZOJ 4241 历史研究
    Problem 71:Ordered fractions
    矿工安全生产
    Codeforces 771C:Bear and Tree Jumps
    Problem 77:Prime summations
    Problem 69:Totient maximum
    关于Euclid算法
    团体程序设计天梯赛-练习集
    埃蒙的时空航道
  • 原文地址:https://www.cnblogs.com/erxiaoouba/p/9006799.html
Copyright © 2020-2023  润新知