From 418678a2f6eeeb9de97795a26277d7c5c64c282d Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 23 五月 2019 15:13:03 +0800 Subject: [PATCH] 用户头像压缩200x200 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java | 36 ++++++++++++++++++++++-------------- 1 files changed, 22 insertions(+), 14 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java index eb18dbb..9d92fbd 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.user; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.Serializable; @@ -25,6 +26,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import org.yeshi.utils.FileUtil; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.NumberUtil; import org.yeshi.utils.tencentcloud.COSManager; @@ -63,6 +65,8 @@ import com.yeshi.fanli.util.account.UserUtil; import com.yeshi.fanli.util.wx.WXLoginUtil; import com.yeshi.fanli.vo.user.UserInfoVO; + +import net.coobird.thumbnailator.Thumbnails; @Service public class UserInfoServiceImpl implements UserInfoService { @@ -927,25 +931,30 @@ throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�"); } - String portrait = userInfo.getPortrait(); - if (portrait != null && portrait.trim().length() > 0 && portrait.contains("/img/user/")) { - COSManager.getInstance().deleteFile(portrait); + // 璋锋瓕鍘嬬缉鍥剧墖 + String targetPath = FileUtil.getCacheDir() + "/uploadPortrait_" + uid + "_" + System.currentTimeMillis() + ".jpg"; + Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath); + + // 鎵ц涓婁紶 + String filePath="/img/user/" + UUID.randomUUID().toString().replace("-", "") + ".jpg"; + String fileLink= COSManager.getInstance().uploadFile(new File(targetPath), filePath).getUrl(); + + // 鍒犻櫎鏈湴鍥剧墖 + if (new File(targetPath).exists()) { + new File(targetPath).delete(); } + // 鍘熷ご鍍� + String portrait = userInfo.getPortrait(); - // 鏂囦欢瑙f瀽 - InputStream inputStream = file.getInputStream(); - String contentType = file.getContentType(); - String type = contentType.substring(contentType.indexOf("/") + 1); - - // 鏂囦欢璺緞 - String filePath="/img/user/"+UUID.randomUUID().toString().replace("-", "") + "." + type; - // 鎵ц涓婁紶 - String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); - + // 鏇存柊淇℃伅 userInfo.setPortrait(fileLink); userInfoMapper.updateByPrimaryKeySelective(userInfo); + // 鍒犻櫎鍘熷ご鍍� + if (!StringUtil.isNullOrEmpty(portrait) && portrait.contains("/img/user/")) { + COSManager.getInstance().deleteFile(portrait); + } executor.execute(new Runnable() { @Override @@ -962,7 +971,6 @@ } } }); - } -- Gitblit v1.8.0