From ce2c33ba07d0b0cbb14ec6b37b72b19d073b15af Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期五, 06 三月 2020 11:15:53 +0800 Subject: [PATCH] 视频封面图裁剪bug修复 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 139 ++++++++++++++++++++++----------------------- 1 files changed, 68 insertions(+), 71 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java index 3bcc297..2855b15 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java @@ -187,8 +187,33 @@ + type; return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); } - - private String uploadPicture(File file,String contentType) throws Exception { + + private ImgInfo uploadVideoPicture(MultipartFile filevideo) { + try { + File tempFile = new File(FileUtil.getCacheDir() + "/" + filevideo.getOriginalFilename()); + if (tempFile.exists()) + tempFile.delete(); + tempFile.createNewFile(); + filevideo.transferTo(tempFile); + File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getOriginalFilename()); + // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1 + ImageCropUtil.centerCrop(tempFile, destFile, 2.0f); + BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile)); + ImgInfo info = new ImgInfo(); + int width = sourceImg.getWidth(); + int height = sourceImg.getHeight(); + String picLink = uploadPicture(destFile, filevideo.getContentType()); + info.setH(height); + info.setW(width); + info.setUrl(picLink); + return info; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + private String uploadPicture(File file, String contentType) throws Exception { InputStream inputStream = new FileInputStream(file); String type = contentType.substring(contentType.indexOf("/") + 1); String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "." @@ -248,36 +273,28 @@ if (StringUtil.isNullOrEmpty(videoUrl)) { throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); } - InputStream inputStream = filevideo.getInputStream(); - File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getName()); - // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1 - ImageCropUtil.centerCrop(inputStream, destFile, 2.0f); - - BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile)); - - int width = sourceImg.getWidth(); - int height = sourceImg.getHeight(); - - String picLink = uploadPicture(destFile,filevideo.getContentType()); + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); if (imgVideo != null) { String url = imgVideo.getUrl(); if (!StringUtil.isNullOrEmpty(url)) { listDel.add(url); } - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); imgVideo.setLarge(true); imgVideo.setPid(pid); - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } - imgVideo.setW(width); - imgVideo.setH(height); + imgVideo.setW(info.getW()); + imgVideo.setH(info.getH()); } } @@ -598,35 +615,29 @@ throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); } - InputStream inputStream = filevideo.getInputStream(); - File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getName()); - // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1 - ImageCropUtil.centerCrop(inputStream, destFile, 2.0f); + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); - BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile)); - int width = sourceImg.getWidth(); - int height = sourceImg.getHeight(); - - String picLink = uploadPicture(destFile,filevideo.getContentType()); if (imgVideo != null) { String url = imgVideo.getUrl(); if (!StringUtil.isNullOrEmpty(url)) { listDel.add(url); } - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); imgVideo.setLarge(true); imgVideo.setPid(pid); - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } - imgVideo.setW(width); - imgVideo.setH(height); + imgVideo.setW(info.getW()); + imgVideo.setH(info.getH()); } } @@ -1014,17 +1025,12 @@ if (filevideo != null) { removePicture(videoPic); - InputStream inputStream = filevideo.getInputStream(); - File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getName()); - // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1 - ImageCropUtil.centerCrop(inputStream, destFile, 2.0f); - - BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile)); - - width = sourceImg.getWidth(); - height = sourceImg.getHeight(); - String picLink = uploadPicture(destFile,filevideo.getContentType()); - videoPic = picLink; + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); + videoPic = info.getUrl(); + width=info.getW(); + height=info.getH(); } MultipartFile activityfile = fileRequest.getFile("activityfile"); @@ -1137,39 +1143,29 @@ if (filevideo != null) { if (StringUtil.isNullOrEmpty(videoUrl)) { throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); - } - InputStream inputStream = filevideo.getInputStream(); - File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getName()); - // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1 - ImageCropUtil.centerCrop(inputStream, destFile, 2.0f); - - BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile)); - - int width = sourceImg.getWidth(); - int height = sourceImg.getHeight(); - - - - String picLink = uploadPicture(destFile,filevideo.getContentType()); + } + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); if (imgVideo != null) { String url = imgVideo.getUrl(); if (!StringUtil.isNullOrEmpty(url)) { listDel.add(url); } - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); imgVideo.setLarge(true); imgVideo.setPid(pid); - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } - imgVideo.setW(width); - imgVideo.setH(height); + imgVideo.setW(info.getW()); + imgVideo.setH(info.getH()); } activityFile = fileRequest.getFile("activityFile"); @@ -1445,7 +1441,8 @@ } @Override -// @Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type") + // @Cacheable(value = "dynamicCache", key = + // "'queryMaterialsCache-'+#start+'-'+#type") public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) throws Exception { List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type); if (list == null) { @@ -1453,10 +1450,10 @@ } Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - + List<GoodsEvaluate> listNew = new ArrayList<>(); for (GoodsEvaluate goodsEvaluate : list) { - + GoodsEvaluate evaluateNew = new GoodsEvaluate(); try { PropertyUtils.copyProperties(evaluateNew, goodsEvaluate); @@ -1464,7 +1461,7 @@ e.printStackTrace(); continue; } - + int comment = 0; List<CommentInfo> comments = evaluateNew.getComments(); if (comments != null && comments.size() > 0) { @@ -1529,7 +1526,7 @@ } } } - + listNew.add(evaluateNew); } @@ -1541,7 +1538,7 @@ updateGoodInfo(listOBJ); } }); - + return listNew; } -- Gitblit v1.8.0