Sfoglia il codice sorgente

上传代码改查代码提交

pans 7 mesi fa
parent
commit
c67e26795b

+ 37 - 4
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/util/MinioUtil.java

@@ -7,9 +7,11 @@ import com.qiwenshare.common.util.DateUtil;
 import com.qiwenshare.ufop.constant.UploadFileStatusEnum;
 import com.qiwenshare.ufop.util.UFOPUtils;
 import io.minio.*;
+import io.minio.errors.*;
 import io.minio.messages.DeleteError;
 import io.minio.messages.DeleteObject;
 import io.minio.messages.Item;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -18,19 +20,21 @@ import org.springframework.stereotype.Component;
 import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 import vip.xiaonuo.disk.commpen.ProducerCommpen;
 import vip.xiaonuo.disk.component.ResourceFileDealComp;
-import vip.xiaonuo.disk.domain.ResourceFile;
-import vip.xiaonuo.disk.domain.ResourceUserFile;
-import vip.xiaonuo.disk.domain.UploadFile;
-import vip.xiaonuo.disk.domain.UploadTask;
+import vip.xiaonuo.disk.domain.*;
 import vip.xiaonuo.disk.dto.file.TranscodingResourceReqDTO;
 import vip.xiaonuo.disk.io.QiwenFile;
+import vip.xiaonuo.disk.mapper.ImageMapper;
 import vip.xiaonuo.disk.mapper.ResourceFileMapper;
 import vip.xiaonuo.disk.mapper.ResourceUserFileMapper;
 import vip.xiaonuo.disk.mapper.UploadTaskMapper;
 
 import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
@@ -73,6 +77,9 @@ public class MinioUtil {
     @Resource
     UploadTaskMapper uploadTaskMapper;
 
+    @Resource
+    ImageMapper imageMapper;
+
     Logger logger = LoggerFactory.getLogger(MinioUtil.class);
 
 
@@ -371,6 +378,32 @@ public class MinioUtil {
         uploadTask.setUserId(StpLoginUserUtil.getLoginUser().getId());
         uploadTaskMapper.insert(uploadTask);
 
+
+        if (UFOPUtils.isImageFile(qiwenFile.getExtendName())) {
+            InputStream inputStream = null;
+            try {
+                MinioClient minioClient =
+                        MinioClient.builder().endpoint(endpoint)
+                                .credentials(accessKey, secretKey).build();
+
+                inputStream = minioClient.getObject(GetObjectArgs.builder().bucket(bucket).object(url).build());
+
+                BufferedImage src  = ImageIO.read(inputStream);
+                Image image = new Image();
+                image.setImageWidth(src.getWidth());
+                image.setImageHeight(src.getHeight());
+                image.setFileId(file.getFileId());
+                imageMapper.insert(image);
+            } catch (IOException | InternalException | XmlParserException | InvalidResponseException |
+                     InvalidKeyException | NoSuchAlgorithmException | ErrorResponseException |
+                     InsufficientDataException | ServerException e) {
+                logger.error("生成图片缩略图失败!", e);
+                e.printStackTrace();
+            } finally {
+                IOUtils.closeQuietly(inputStream);
+            }
+        }
+        resourceFileDealComp.parseMusicFile(qiwenFile.getExtendName(), 3, url, file.getFileId());
         return true;
     }