src/main/java/com/dji/sample/component/oss/model/AliyunOSSConfiguration.java
@@ -99,6 +99,9 @@ @Bean @Lazy public OSS ossClient() { if (!enable) { return null; } return new OSSClientBuilder().build(endpoint, accessKey, secretKey); } } src/main/java/com/dji/sample/component/oss/model/MinIOConfiguration.java
@@ -82,6 +82,9 @@ @Bean @Lazy public MinioClient minioClient() { if (!enable) { return null; } MinioClient.Builder builder = MinioClient.builder() .endpoint(endpoint) .credentials(accessKey, secretKey); src/main/java/com/dji/sample/component/oss/service/impl/AliyunOssServiceImpl.java
@@ -27,7 +27,7 @@ @Slf4j public class AliyunOssServiceImpl implements IOssService { @Autowired @Autowired(required = false) private OSS ossClient; @Override @@ -58,11 +58,16 @@ if (!StringUtils.hasText(bucket) || !StringUtils.hasText(objectKey)) { return null; } // First check if the object can be fetched. ossClient.getObject(bucket, objectKey); try { // First check if the object can be fetched. ossClient.getObject(bucket, objectKey); return ossClient.generatePresignedUrl(bucket, objectKey, new Date(System.currentTimeMillis() + AliyunOSSConfiguration.expire * 1000)); return ossClient.generatePresignedUrl(bucket, objectKey, new Date(System.currentTimeMillis() + AliyunOSSConfiguration.expire * 1000)); } catch (NullPointerException e) { e.printStackTrace(); } return null; } } src/main/java/com/dji/sample/component/oss/service/impl/MinIOServiceImpl.java
@@ -26,7 +26,7 @@ @Slf4j public class MinIOServiceImpl implements IOssService { @Autowired @Autowired(required = false) private MinioClient client; @Override src/main/java/com/dji/sample/storage/controller/StorageController.java
@@ -7,6 +7,7 @@ import com.dji.sample.storage.service.IStorageService; import com.dji.sample.storage.service.impl.AliyunStorageServiceImpl; import com.dji.sample.storage.service.impl.MinIOStorageServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -20,13 +21,14 @@ */ @RestController @RequestMapping("${url.storage.prefix}${url.storage.version}/workspaces/") @Slf4j public class StorageController { private IStorageService storageService; @Autowired private void setOssService(@Autowired AliyunStorageServiceImpl aliyunStorageService, @Autowired MinIOStorageServiceImpl minIOStorageService) { private void setOssService(@Autowired(required = false) AliyunStorageServiceImpl aliyunStorageService, @Autowired(required = false) MinIOStorageServiceImpl minIOStorageService) { if (AliyunOSSConfiguration.enable) { this.storageService = aliyunStorageService; return; @@ -35,7 +37,7 @@ this.storageService = minIOStorageService; return; } throw new NullPointerException("storageService is null."); log.error("storageService is null."); } /** * Get temporary credentials for uploading the media and wayline in DJI Pilot. src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
@@ -75,7 +75,7 @@ try { response.sendRedirect(url.toString()); } catch (IOException e) { } catch (Exception e) { e.printStackTrace(); } } src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -15,6 +15,7 @@ import com.dji.sample.wayline.model.WaylineFileEntity; import com.dji.sample.wayline.model.WaylineQueryParam; import com.dji.sample.wayline.service.IWaylineFileService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -33,6 +34,7 @@ */ @Service @Transactional @Slf4j public class WaylineFileServiceImpl implements IWaylineFileService { @Autowired @@ -41,7 +43,8 @@ private IOssService ossService; @Autowired private void setOssService(@Autowired AliyunOssServiceImpl aliyunOssService, @Autowired MinIOServiceImpl minIOService) { private void setOssService(@Autowired(required = false) AliyunOssServiceImpl aliyunOssService, @Autowired(required = false) MinIOServiceImpl minIOService) { if (AliyunOSSConfiguration.enable) { this.ossService = aliyunOssService; return; @@ -50,7 +53,7 @@ this.ossService = minIOService; return; } throw new NullPointerException("ossService is null."); log.error("ossService is null."); } @Override src/main/resources/application.yml
@@ -58,7 +58,7 @@ # Tutorial: https://help.aliyun.com/document_detail/100624.htm?spm=a2c4g.11186623.0.0.74075e34eIhK7T#concept-xzh-nzk-2gb aliyun: oss: enable: true enable: false endpoint: Please enter your endpoint. # Example: https://oss-cn-shenzhen.aliyuncs.com access-key: Please enter your access key. secret-key: Please enter your secret key.