图片处理问题

来源:4-8 店铺注册功能之Controller层的改造

qq_总有刁民想害朕_70

2018-08-29


在ShopManageController类里面

//修改店铺信息 :我的代码
   if(shop!=null && shop.getShopId()!=null){
    ShopExecution se;
    try{
    if(shopImg==null){
     se=shopService.modifyShop(shop, null);
    }else{
     se=shopService.modifyShop(shop, ImageUtil.transferCommonsMultipartFileToFile(shopImg));
    }

老师的代码:

if (shop != null && shop.getShopId() != null) {
   ShopExecution se;
   try {
    if (shopImg == null) {
     se = shopService.modifyShop(shop, null);
    } else {
     ImageHolder imageHolder = new ImageHolder(shopImg.getOriginalFilename(), shopImg.getInputStream());
     se = shopService.modifyShop(shop, imageHolder);

    }

我觉得可以直接将CommonsMultipartFile转换成File,然后调用modifyShop()方法就好了,但是您是先转换成流,获取文件名字,最后调用方法,视频中为了这个问题还重构了一次代码,我有点不明白原因,请老师指点



写回答

1回答

翔仔

2018-08-29

同学好,如果直接弄成File的话,每次保存图片的时候会生成一个临时文件,所以才选择采用流的方式。并且为了能够让service层也能进行ut,所以才选择进行了一次代码的重构而不用CommonsMultipartFile,因为CommonsMultipartFile在Service里不好进行ut。传入不了文件

0
0

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程