SpringMvc MultipartFile 多张图片文件上传

spring-servlet.xml


<!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 -->

    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8" />
        <!-- 指定所上传文件的总大小,单位字节。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->
        <property name="maxUploadSize" value="10240000" />

    </bean>


upload/index.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>单图片上传</title>
</head>
<body>
<fieldset>
<legend>图片上传</legend>
<h2>多张图片上传 单张10M以下的 PNG、JPG、GIF 格式的图片</h2>
<form action="/pt/order/photoUpload" method="post" enctype="multipart/form-data">
    选择文件:<input type="file" name="file">

    选择文件:<input type="file" name="file">

    选择文件:<input type="file" name="file">
    <input type="submit" value="上传"> 
</form>
</fieldset>
</body>
</html>




ImageUtil.java

                      /**
      * 图片文件上传
      */
     public String ImageUpload(MultipartFile file,HttpServletRequest request,HttpServletResponse response,HttpSession session) 
    throws IllegalStateException, IOException{
    String savePaths ="";
     if (file!=null) {// 判断上传的文件是否为空
           String path=null;// 文件路径
           String type=null;// 文件类型
           String fileName=file.getOriginalFilename();// 文件原名称
           //System.out.println("上传的文件原名称:"+fileName);
           // 判断文件类型
            type=fileName.indexOf(".")!=-1?fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()):null;
           if (type!=null) {// 判断文件类型是否为空
               if ("GIF".equals(type.toUpperCase())||"PNG".equals(type.toUpperCase())||"JPG".equals(type.toUpperCase())) {
                  // 项目在容器中实际发布运行的根路径
                  String realPath=request.getSession().getServletContext().getRealPath("/");
                   // 自定义的文件名称
                      String trueFileName=String.valueOf(System.currentTimeMillis())+fileName;
                   // 设置存放图片文件的路径
                   path=realPath+/*System.getProperty("file.separator")+*/trueFileName;
                   System.out.println("存放图片文件的路径:"+path);
                    // 转存文件到指定的路径
                    file.transferTo(new File(path));
                    savePaths =path;
               }else {
                   System.out.println("不是我们想要的文件类型,请按要求重新上传");
                   return null;
                }
           }else {
                System.out.println("文件类型为空");
                return null;
            }
        }else {
            System.out.println("没有找到相对应的文件");
            return null;
           }
        return savePaths;
    }


UserInfoController.java


 @ResponseBody
      @RequestMapping(value="/car/imageUploa", method={RequestMethod.GET, RequestMethod.POST})
       public ReturnData imageUploa(@RequestParam("file") MultipartFile[] file,HttpServletRequest request,HttpServletResponse response,HttpSession session) throws IllegalStateException, IOException{
      List list = new ArrayList();
      ImageUtil  imageUtil = new ImageUtil();
    // String images =  imageUtil.ImageUpload(file, request,response,session);
      if(file!=null&&file.length>0){  
                   //循环获取file数组中得文件  
                 for(int i = 0;i<file.length;i++){


                     MultipartFile files = file[i];  


                     //保存文件  
                 String amageurl =  imageUtil.ImageUpload(files, request, response, session);  
                 list.add(amageurl);
                   }  
              }  
return new ReturnData(ErrorCode.SUCCESS_.getCode(),ErrorCode.SUCCESS_.getMessage(),list);
       }




  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
MultipartFile是Spring MVC中用于处理文件上传口。它提供了一种方便的方式来获取上传的文件以及相关的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringMVC:使用MultipartFile实现文件上传与下载](https://blog.csdn.net/y516369/article/details/125670724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Spring MVC处理文件上传MultipartFile](https://blog.csdn.net/qq_41810184/article/details/108309420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [SpringMvc MultipartFile实现图片文件上传示例](https://download.csdn.net/download/weixin_38577551/12785112)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值