springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommonApi.java
@@ -15,6 +15,7 @@ import com.panzhihua.applets.config.MinioUtil; import com.panzhihua.common.controller.BaseController; import net.coobird.thumbnailator.Thumbnails; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.RandomUtils; import org.springframework.beans.factory.annotation.Value; @@ -160,6 +161,22 @@ } } @ApiOperation(value = "新上传照片压缩接口") @PostMapping(value = "/uploadimagescompress", consumes = "multipart/*", headers = "content-type=multipart/form-date") public R uploadImagesComPress(@RequestParam MultipartFile file, HttpServletRequest request) { try { String extension = FilenameUtils.getExtension(file.getOriginalFilename()); String uuid=UUID.randomUUID().toString().replaceAll("-", "") + "."; String name = uuid + extension; String imageUrl = minioUtil.upload(file, name); Thumbnails.of(file.getInputStream()).scale(1).outputQuality(0.25).outputFormat("jpg").toFile("D://image/compress"+uuid); return R.ok(url + "/idcard/compress" + uuid+".jpg"); } catch (Exception e) { log.error("上传照片失败【{}】", e.getMessage()); return R.fail(); } } @ApiOperation(value = "发送验证码") @PostMapping(value = "smscode") public R smscode(@RequestBody UserPhoneVO userPhoneVO) { springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/config/MinioUtil.java
@@ -9,9 +9,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.*; import java.net.URLEncoder; import java.util.UUID; @@ -72,6 +70,40 @@ } return null; } /** * 文件上传 * * @param file * 要上传的文件 * @return */ public String uploadFile(File file, String name) { if (null != file) { try { UUID uuid = UUID.randomUUID(); StringBuilder s = new StringBuilder(); s.append(uuid.toString().replace("-", "")).append("/"); MinioClient minioClient = new MinioClient(minioProperties.getHost(), minioProperties.getAccessKey(), minioProperties.getSecretKey()); // bucket 不存在,创建 if (!minioClient.bucketExists(minioProperties.getBucket())) { minioClient.makeBucket(minioProperties.getBucket()); } // 得到文件流 InputStream input = new FileInputStream(file); // 文件名 // String fileName = uuid + "/images." + FilenameUtils.getExtension(file.getOriginalFilename()); String fileName = s.append(name).toString(); minioClient.putObject(minioProperties.getBucket(), fileName, input, ""); StringBuilder fileUrl = new StringBuilder(minioProperties.getUrl()); String url = fileUrl.append(fileName).toString(); return url; } catch (Exception e) { e.printStackTrace(); } } return null; } /** * 文件下载 springcloud_k8s_panzhihuazhihuishequ/common/pom.xml
@@ -36,6 +36,11 @@ <artifactId>tomcat-embed-core</artifactId> </dependency> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency>