baizonghao
2023-03-06 0289c3a17054bcbf8f6ef5d5eaab6a1ddcaf5887
oss添加service
3个文件已修改
44 ■■■■■ 已修改文件
ycl-common/src/main/java/com/ycl/service/oss/OssService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/oss/OssService.java
@@ -2,6 +2,8 @@
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
public interface OssService {
    /**
     * 上传图片
@@ -16,4 +18,6 @@
     * @return
     */
    boolean deleteImages(String fileUrl);
    String uploadImages(InputStream inputStream, String ext);
}
ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
@@ -9,7 +9,9 @@
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.Date;
import java.util.UUID;
@Service
public class OssServiceImpl implements OssService {
@@ -62,6 +64,38 @@
        return true;
    }
    @Override
    public String uploadImages(InputStream inputStream, String ext) {
        String endpoint = ConstantPropertiesUtils.END_POINT;
        String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;
        String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;
        String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        // 上传文件流
        try {
            // 获取文件的名称
            String fileName = String.valueOf(UUID.randomUUID());
            ObjectMetadata objectMetadata = new ObjectMetadata();
            objectMetadata.setContentType(getcontentType(ext));
            // 调用oss的方法实现长传
            // 第一个参数 bucketName
            // 第二个参数 上传到oss的文件路径和文件名称
            ossClient.putObject(bucketName, fileName, inputStream,objectMetadata);
            // 关闭OSSClient。
            ossClient.shutdown();
            // 把上传的文件路径返回 (手动拼接)
            // 这里设置图片有效时间 我设置了30年
            Date expiration = new Date(System.currentTimeMillis() + 946080000 * 1000);
            String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
            return url;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    public static String getcontentType(String FilenameExtension) {
        if (FilenameExtension.equalsIgnoreCase(".bmp")) {
            return "image/bmp";
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
@@ -9,6 +9,7 @@
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.mapper.video.VideoAlarmReportMapper;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.oss.OssService;
import com.ycl.service.video.IVideoAlarmReportService;
import com.ycl.utils.MediaFileUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +44,9 @@
    private MediaFileUtil mediaFileUtil;
    private IViolationsService violationsService;
    @Autowired
    private OssService ossService;
    @Autowired
    public void setMediaFileUtil(MediaFileUtil mediaFileUtil) {
@@ -172,7 +176,7 @@
                            inputStream = new ByteArrayInputStream(os.toByteArray());
                    }
                    picData = mediaFileUtil.savePicture(inputStream, extension);
                    picData = ossService.uploadImages(inputStream, extension);
                } catch (Exception e) {
                    e.printStackTrace();
                }