UploadImageUtils.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.caimei.modules.sys.utils;
  2. import com.caimei.modules.archive.utils.OssArchiveUtil;
  3. import com.thinkgem.jeesite.common.config.Global;
  4. import com.thinkgem.jeesite.common.utils.StringUtils;
  5. import org.slf4j.Logger;
  6. import org.slf4j.LoggerFactory;
  7. import org.springframework.transaction.annotation.Transactional;
  8. import org.springframework.web.multipart.MultipartFile;
  9. import java.io.File;
  10. import java.util.HashMap;
  11. import java.util.Map;
  12. import java.util.UUID;
  13. /**
  14. * 上传图片公用方法
  15. * 弃用request.getSession().getServletContext().getRealPath(image)
  16. * @author Lijun
  17. * @version 2019-06-28
  18. **/
  19. public class UploadImageUtils {
  20. static Logger logger = LoggerFactory.getLogger(UploadImageUtils.class);
  21. static String basedir = Global.getConfig("userfiles.basedir");
  22. /**
  23. * 获取上传图片的绝对路径
  24. *
  25. * @param imagePath 图片路径
  26. */
  27. public static String getAbsolutePath(String imagePath) {
  28. if(StringUtils.isNotEmpty(imagePath)){
  29. String absolutePath = basedir + imagePath;
  30. logger.info("----------上传绝对路径为:"+ absolutePath);
  31. return absolutePath;
  32. }else{
  33. return "";
  34. }
  35. }
  36. public static Map<String, Object> uploadOss(MultipartFile multipartFile, String dirName) {
  37. Map<String, Object> map = new HashMap<>();
  38. String fileAllName = multipartFile.getOriginalFilename();
  39. String fileType = fileAllName.substring(fileAllName.lastIndexOf(".") + 1);
  40. String uuid = UUID.randomUUID().toString().replaceAll("-", "");
  41. String filePath = uuid + "." + fileType;
  42. String contentType = OssArchiveUtil.getContentType(fileAllName);
  43. try {
  44. //保存本地
  45. File file = OssArchiveUtil.ossUpload(multipartFile);
  46. logger.info("默认路径>>>" + file.getAbsolutePath());
  47. //上传oss
  48. String url = OssArchiveUtil.ossUpload(filePath, dirName, file, contentType, null);
  49. //删除本地文件
  50. OssArchiveUtil.deleteFile(file);
  51. map.put("success", true);
  52. map.put("msg", "操作成功");
  53. map.put("ossName", filePath);
  54. map.put("url", url);
  55. } catch (Exception e) {
  56. e.printStackTrace();
  57. map.put("success", false);
  58. map.put("msg", "操作失败");
  59. logger.info("上传异常!!!");
  60. }
  61. return map;
  62. }
  63. }