记得上下班打卡 | git大法好,push需谨慎

Commit fca01797 authored by jiangxiulong's avatar jiangxiulong

上传数美验证图片;try优化;

parent 39a97767
...@@ -11,7 +11,6 @@ import com.aliyun.oss.model.PutObjectRequest; ...@@ -11,7 +11,6 @@ import com.aliyun.oss.model.PutObjectRequest;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.common.third.shumei.util.ShumeiUtil; import com.liquidnet.common.third.shumei.util.ShumeiUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.FilesUtils; import com.liquidnet.commons.lang.util.FilesUtils;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
...@@ -19,7 +18,6 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -19,7 +18,6 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.basicServices.UploadVo; import com.liquidnet.service.kylin.dto.vo.basicServices.UploadVo;
import com.liquidnet.service.kylin.entity.PlatformOssFiles; import com.liquidnet.service.kylin.entity.PlatformOssFiles;
import com.liquidnet.service.kylin.mapper.PlatformOssFilesMapper; import com.liquidnet.service.kylin.mapper.PlatformOssFilesMapper;
import com.oracle.tools.packager.Log;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -35,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -35,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -99,16 +98,22 @@ public class AlOssController { ...@@ -99,16 +98,22 @@ public class AlOssController {
// 是否上传过 有直接返回 // 是否上传过 有直接返回
PlatformOssFiles ossFile = this.getOldOssFile(fileNew); PlatformOssFiles ossFile = this.getOldOssFile(fileNew);
UploadVo uploadVo = new UploadVo(); UploadVo uploadVo = new UploadVo();
if (null == ossFile) { try {
// 上传 if (null == ossFile) {
ossFile = this.uploadOssFile(file, pathName, buckType, resize, fileNew, isCutFrame); // 上传
ossFile = this.uploadOssFile(file, pathName, buckType, resize, fileNew, isCutFrame);
}
} finally {
// 删除临时文件 因为老文件也生成了所以也要删除
FilesUtils.deleteTempFile(fileNew);
} }
BeanUtils.copyProperties(ossFile, uploadVo);
// 删除临时文件 因为老文件也生成了所以也要删除
FilesUtils.deleteTempFile(fileNew);
return ResponseDto.success(uploadVo); if (null == ossFile) {
return ResponseDto.failure("上传失败,该文件不合规,请勿上传带有联系方式、色情、涉政、广告等敏感文件");
} else {
BeanUtils.copyProperties(ossFile, uploadVo);
return ResponseDto.success(uploadVo);
}
} }
/** /**
...@@ -142,38 +147,47 @@ public class AlOssController { ...@@ -142,38 +147,47 @@ public class AlOssController {
*/ */
private PlatformOssFiles uploadOssFile(MultipartFile file, String pathName, int buckType, int resize, File fileNew, int isCutFrame) { private PlatformOssFiles uploadOssFile(MultipartFile file, String pathName, int buckType, int resize, File fileNew, int isCutFrame) {
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
String filename = "";
String contentType = "";
int size = 0; int size = 0;
if (null == file) { String filename, contentType, uploadPath = "";
filename = fileNew.getName(); PlatformOssFiles ossFileVideoImg = null;
Path fileNewPath = new File(fileNew.getPath()).toPath(); try {
try { if (null == file) {
filename = fileNew.getName();
Path fileNewPath = new File(fileNew.getPath()).toPath();
contentType = Files.probeContentType(fileNewPath); contentType = Files.probeContentType(fileNewPath);
} catch (Exception e) { size = (int) fileNew.length();
} else {
filename = file.getResource().getFilename();
contentType = file.getContentType();
size = (int) file.getSize();
}
uploadPath = FilesUtils.getUploadPath(pathName, filename);
String bucketName = FilesUtils.getBucketName(buckType);
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, uploadPath, fileNew);
ossClient.putObject(putObjectRequest);
if (1 == buckType && !shumeiUtil.checkImage(IDGenerator.nextSnowId(), imgUrl.concat(uploadPath))) {
ossClient.deleteObject(bucketName, uploadPath);
return null;
} }
size = (int) fileNew.length();
} else {
filename = file.getResource().getFilename();
contentType = file.getContentType();
size = (int) file.getSize();
}
String uploadPath = FilesUtils.getUploadPath(pathName, filename);
String bucketName = FilesUtils.getBucketName(buckType);
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, uploadPath, fileNew);
ossClient.putObject(putObjectRequest);
if (resize > 0) { // 裁切 if (resize > 0) { // 裁切
this.ossFileResize(resize, uploadPath, bucketName, ossClient); this.ossFileResize(resize, uploadPath, bucketName, ossClient);
} }
PlatformOssFiles ossFileVideoImg = null; if (isCutFrame > 0) { // 截取帧数
if (isCutFrame > 0) { // 截取帧数 ossFileVideoImg = this.ossFileCutFrame(uploadPath, pathName, buckType);
ossFileVideoImg = this.ossFileCutFrame(uploadPath, pathName, buckType); }
}
ossClient.shutdown(); ossClient.shutdown();
} catch (OSSException | ClientException | IOException e) {
log.error("alOssUploadEx [e:{}]", e);
return null;
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
// 入库 // 入库
PlatformOssFiles platformOssFilesDate = new PlatformOssFiles(); PlatformOssFiles platformOssFilesDate = new PlatformOssFiles();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment