java接收多张图片:处理前端传过来的json格式的字符串

定义的dto:其中startPic是开始图片,(可能会有多张),signPic是签到图片,只有一张

@Data
public class OmsStartWork {
    
    

    Long orderId;
    String signPic;
    String startPic;
    String remarks;
    BigDecimal latitude;
    BigDecimal longitude;
}

后台我是这么处理的:先new一个OmsPic 对象,依次赋值,最后保存,然后数据库里的字段也有值了

OmsPic startpic = new OmsPic();
   startpic.setPath(OmsStartWork.getstartPic());
   startpic.setCreateTime(new Date());
   startpic.setOrderId(startWork.getOrderId());
   startpic.setOrderMasterId(omsOrder.getMemberId());
   startpic.setType(1);
   omsPicService.save(startpic);
        

在这里插入图片描述
如图,但是被问到,这样只是保存了一张图,如果是多图呢,好几张呢,后来想到,如果是一张图,就应该有一条记录,应该通过创建数组,分割json中的startPic,有几个startPic,就给它插几条表记录:

OmsPic startpic = new OmsPic();
   String[] picArray = startWork.getStartPic().split(",");
   for(int i = 0; i < picArray.length; i++){
    
    
       startpic.setPath(picArray[i]);
       startpic.setCreateTime(new Date());
       startpic.setOrderId(startWork.getOrderId());
       startpic.setOrderMasterId(omsOrder.getMemberId());
       startpic.setType(1);
       omsPicService.save(startpic);
   }

在这里插入图片描述
就OK了

猜你喜欢

转载自blog.csdn.net/weixin_42260782/article/details/111031415