how2j.cn

相关下载
文件名 文件大小
请先登录 392k
使用站长秘制下载工具
步骤 1 : 先运行,看到效果,再学习   
步骤 2 : 模仿和排错   
步骤 3 : 页面截图   
步骤 4 : ProductImage   
步骤 5 : ProductImageDAO   
步骤 6 : ProductImageService   
步骤 7 : ProductImageController   
步骤 8 : listProductImage.html   
步骤 9 : 查询功能讲解   
步骤 10 : 增加功能讲解   
步骤 11 : 删除功能讲解   
步骤 12 : 编辑和修改   
步骤 13 : Product   
步骤 14 : ProductImageService   
步骤 15 : ProductController   
步骤 16 : listProduct.html   
步骤 17 : 产品缩略图效果   

步骤 1 :

先运行,看到效果,再学习

增值内容,请先登录
步骤 2 :

模仿和排错

增值内容,请先登录
步骤 3 :

页面截图

增值内容,请先登录
步骤 4 :

ProductImage

增值内容,请先登录
步骤 5 :

ProductImageDAO

增值内容,请先登录
步骤 6 :

ProductImageService

增值内容,请先登录
步骤 7 :

ProductImageController

增值内容,请先登录
步骤 8 :

listProductImage.html

增值内容,请先登录
步骤 9 :

查询功能讲解

增值内容,请先登录
步骤 10 :

增加功能讲解

增值内容,请先登录
步骤 11 :

删除功能讲解

增值内容,请先登录
步骤 12 :

编辑和修改

增值内容,请先登录
步骤 13 :

Product

增值内容,请先登录
步骤 14 :

ProductImageService

增值内容,请先登录
步骤 15 :

ProductController

增值内容,请先登录
步骤 16 :

listProduct.html

增值内容,请先登录
步骤 17 :

产品缩略图效果

增值内容,请先登录


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2019-01-11 ProductService的setFirstProductImage
xiaoliang123



product.setFirstProductImage(singleImages.get(0)); product.setFirstProductImage(new ProductImage()); 这里是不是有点问题?
 public void setFirstProdutImage(Product product) {
        List<ProductImage> singleImages = listSingleProductImages(product);
        if(!singleImages.isEmpty())
            product.setFirstProductImage(singleImages.get(0));
        else
            product.setFirstProductImage(new ProductImage()); //这样做是考虑到产品还没有来得及设置图片,但是在订单后台管理里查看订单项的对应产品图片。
 
    }
    public void setFirstProdutImages(List<Product> products) {
        for (Product product : products)
            setFirstProdutImage(product);
    }

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2019-01-09 产品详情图片这块,想一次可以上传多张图片
玩玩乐就荒废



站长老师:每次上传一个图片,感觉有点不方便,为什么不能一次上传多张图片,这个代码应该怎么写
 @PostMapping("/productImages")
    public Object add(@RequestParam("pid") int pid, @RequestParam("type") String type, MultipartFile image, HttpServletRequest request) throws Exception {
        ProductImage bean = new ProductImage();
        Product product = productService.get(pid);
        bean.setProduct(product);
        bean.setType(type);
         
        productImageService.add(bean);
        String folder = "img/";
        if(ProductImageService.type_single.equals(bean.getType())){
            folder +="productSingle";
        }
        else{
            folder +="productDetail";
        }
        File  imageFolder= new File(request.getServletContext().getRealPath(folder));
        File file = new File(imageFolder,bean.getId()+".jpg");
        String fileName = file.getName();
        if(!file.getParentFile().exists())
            file.getParentFile().mkdirs();
        try {
            image.transferTo(file);
            BufferedImage img = ImageUtil.change2jpg(file);
            ImageIO.write(img, "jpg", file);           
        } catch (IOException e) {
            e.printStackTrace();
        }
         
        if(ProductImageService.type_single.equals(bean.getType())){
            String imageFolder_small= request.getServletContext().getRealPath("img/productSingle_small");
            String imageFolder_middle= request.getServletContext().getRealPath("img/productSingle_middle");    
            File f_small = new File(imageFolder_small, fileName);
            File f_middle = new File(imageFolder_middle, fileName);
            f_small.getParentFile().mkdirs();
            f_middle.getParentFile().mkdirs();
            ImageUtil.resizeImage(file, 56, 56, f_small);
            ImageUtil.resizeImage(file, 217, 190, f_middle);
        }      
         
        return bean;
    }

							


1 个答案

how2j 答案时间:2019-01-10
改动很多,不仅前端要修改,后台也要修改。 先不要在项目里改,自己做个小demo 吧,把多文件上传搞清楚了,再到项目里来改好了




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2019-01-03 @JsonBackReference是什么意思?
2018-12-25 product的删除操作
2018-12-22 关于图片添加add方法的疑问
2018-11-28 获取文件问题
2018-11-12 @JsonBackReference
2018-10-30 勘误




提问之前请登陆
关于 实践项目-天猫整站Springboot-产品图片管理 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 902680467
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图