• spring mvc 的上传图片是怎么实现的?


    spring mvc 的上传图片是怎么实现的?

    1. 导入jar包,commons-io.jar 及 commons-fileupload.jar
    2. 在springmvc的配置文件中配置Mutipart解析器CommonsMultipartResolver,在其中配置文件上传的编码格式,设置最大上传文件大小,设置上传文件最大占用空间大小
      1 <!--上传下载  -->
      2 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
      3         <!-- 指定上传的字符集 -->
      4         <property name="defaultEncoding" value="utf-8"></property>
      5         <!-- 最大上传文件大小 -->
      6         <property name="maxUploadSize" value="10485760000"></property>
      7         <!-- 最大占用内存空间大小 -->
      8         <property name="maxInMemorySize" value="40960"></property>
      9 </bean>
    3. 前端上传图片的时候需要在form表单上加上enctype=mutilpart/form-data,然后提供上传图片的表单域,即type=“file”的input标签
    4. 在controller层中接收上传文件的参数时,有两种方法:
      • 第一种:定义一种支持文件传输的request —— MultipartHttpServletRequest  (HttpServletRequest只能接收数据类型的表单请求参数) ,也可以通过HttpServletRequest来接收,最终 在通过强转,转成MultipartHttpServletRequest;                                                                                                                                                                            
      • 第二种:直接定义MutipartFile 接收文件对象,但是只能接收有限个数的文件,比如:一个,两个,有一个明确的文件个数时;如果页面上传标签可以追加,文件个数不确定时,这时需要通过multipartHttpServletRequest.getFileMap()来接收上传来的文件,再通过遍历,将每一个文件进行上传。
  • 相关阅读:
    解决在Apple Silicon (M1)安装php MongoDB扩展失败
    dyld: Library not loaded: /usr/local/opt/libpng/lib/libpng16.16.dylib
    docker自建bitwarden_rs服务器更新支持send功能
    centos安装puppeteer遇到的报错及解决方案
    Centos宝塔安装NextCloud
    苹果设备型号代码(更新至iPhone12)
    electron内使用vue-slider-component组件报“$attrs is readonly”错误
    ZSH隐藏命令行前面的用户名和主机名
    Android9.0配置charles的https抓包
    记一次discuz修改首页图片路径问题
  • 原文地址:https://www.cnblogs.com/Dylan_G/p/10314865.html
Copyright © 2020-2023  润新知