|
|
@@ -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;
|
|
|
}
|
|
|
|