springMVC 多图片多name上传

本文介绍了一个基于Java的图片上传接口的实现方法,该接口能够处理多种类型的图片文件,并将其保存到指定目录。文章详细展示了如何使用Spring框架处理文件上传请求,包括路径设置、文件名生成及保存过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /**
     * 图片上传
     * @param data
     * @param user
     * @return
     */
    @PostMapping(value="/upload/{id}")
    public ReturnEntity upload(@PathVariable("id") Long Id,
    		  @RequestParam("reImage") MultipartFile[] reImage,
    		  @RequestParam("orgImage") MultipartFile[] orgImage,
    		  @RequestParam("cardImage") MultipartFile[] cardImage){
        SimpleDateFormat df = new SimpleDateFormat("/yyyy/MM/dd/");
        String format = df.format(new Date());
  			String path = "E:/upload"+format; // 图片存放路径
  			File file = new File(path);
  		   	//文件夹不存在则新建
  			if (!file.exists()) {
  				file.mkdirs(); 
  			} 
  			Attach attach =null;
  				for (int i = 0; i < reImage.length; i++) {
  					if (!StringUtils.isEmpty(reImage[i].getOriginalFilename())) {
  						 String realpath=path+UUID.randomUUID().toString().replace("-","")+reImage[i].getOriginalFilename().substring(reImage[i].getOriginalFilename().lastIndexOf("."));
  					attach = new Attach();
  						
  						attach.setUrl(realpath);
  						attach.setAttName(reImage[i].getOriginalFilename());
  						attach.setIsEnable(1);
  						attach.setAttType("中介管理");
  					  System.out.println("reImage----------走了第"+i+"次");
  						attach.setSubType("工商执照");
  					   attachService.insertReturnBody(attach);
  						 try {
  								OutputStream out = new FileOutputStream(realpath);
  								InputStream in = reImage[i].getInputStream();
  								FileCopyUtils.copy(in, out);
  							} catch (Exception e){
  					            System.out.println("文件复制失败。。。。");
  							}
  					}
  				}
  			
  				for (int i = 0; i < orgImage.length; i++) {
  					System.out.println("又来了"+i+"-----"+!StringUtils.isEmpty(orgImage[i].getOriginalFilename()));
  					if (!StringUtils.isEmpty(orgImage[i].getOriginalFilename())) {
  						
  						 String realpath=path+UUID.randomUUID().toString().replace("-","")+orgImage[i].getOriginalFilename().substring(orgImage[i].getOriginalFilename().lastIndexOf("."));
  						System.out.println("走了吗+------------------------");
  						 attach = new Attach();
   				 System.out.println("orgImage----------走了第"+i+"次");
   						attach.setUrl(realpath);
   						attach.setAttName(orgImage[i].getOriginalFilename());
   						attach.setIsEnable(1);
   						attach.setAttType("中介管理");
   						
   						attach.setSubType("工商执照");
   					    attachService.insertReturnBody(attach);
  						try {
  							OutputStream out = new FileOutputStream(realpath);
  							InputStream in = orgImage[i].getInputStream();
  							FileCopyUtils.copy(in, out);
  						} catch (Exception e) {
  							System.out.println("文件复制失败。。。。");
  						}
  					}
  				}
  			
  				for (int i = 0; i < cardImage.length; i++) {
  					if (!StringUtils.isEmpty(cardImage[i].getOriginalFilename())) {
  						 String realpath=path+UUID.randomUUID().toString().replace("-","")+cardImage[i].getOriginalFilename().substring(cardImage[i].getOriginalFilename().lastIndexOf("."));
   					attach = new Attach();
   				 System.out.println("cardImage----------走了第"+i+"次");
   						attach.setUrl(realpath);
   						attach.setAttName(cardImage[i].getOriginalFilename());
   						attach.setIsEnable(1);
   						attach.setAttType("中介管理");
   						
   						attach.setSubType("工商执照");
   					    attachService.insertReturnBody(attach);
  						try {
  							OutputStream out = new FileOutputStream(realpath);
  							InputStream in = cardImage[i].getInputStream();
  							FileCopyUtils.copy(in, out);
  						} catch (Exception e) {
  							System.out.println("文件复制失败。。。。");
  						}
  					}
  				}
    	
		return new ReturnEntity(new ReturnBody(attach));
    	
    	
    }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值