Browse Source

1.开放存储的接口的调用

pull/1/head
pref_mail@163.com 1 year ago
parent
commit
8cc0437cff
  1. 5
      blade-ops-api/blade-resource-api/pom.xml
  2. 38
      blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IOssClient.java
  3. 17
      blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IOssClientFallback.java
  4. 12
      blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/oss/OssBuilder.java
  5. 31
      blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/OssClient.java

5
blade-ops-api/blade-resource-api/pom.xml

@ -23,6 +23,11 @@
<groupId>org.springblade</groupId>
<artifactId>blade-starter-tenant</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-oss</artifactId>
</dependency>
</dependencies>
</project>

38
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IOssClient.java

@ -0,0 +1,38 @@
package org.springblade.resource.feign;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.oss.model.BladeFile;
import org.springblade.core.sms.model.SmsResponse;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
/**
* 文件上传feign
*/
@FeignClient(
value = AppConstant.APPLICATION_RESOURCE_NAME
,
fallback = IOssClientFallback.class
)
public interface IOssClient {
String API_PREFIX = "/client";
// 文件上传
String FILE_UPLOAD = API_PREFIX + "/file_upload";
@PostMapping(name = FILE_UPLOAD,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
R<BladeFile> fileUpload(@RequestPart(value = "file") MultipartFile file);
}

17
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IOssClientFallback.java

@ -0,0 +1,17 @@
package org.springblade.resource.feign;
import org.springblade.core.sms.model.SmsResponse;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
@Component
public class IOssClientFallback implements IOssClient {
@Override
public R fileUpload(MultipartFile files) {
return R.fail("远程调用失败");
}
}

12
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/oss/OssBuilder.java

@ -86,6 +86,17 @@ public class OssBuilder {
*/
public OssTemplate template(String code) {
String tenantId = AuthUtil.getTenantId();
return template(code, tenantId);
}
/**
* 构建存储对象
* @param code
* @param tenantId
* @return
*/
public OssTemplate template(String code,String tenantId ) {
Oss oss = getOss(tenantId, code);
Oss ossCached = ossPool.get(tenantId);
OssTemplate template = templatePool.get(tenantId);
@ -118,6 +129,7 @@ public class OssBuilder {
return template;
}
/**
* 获取对象存储实体
*

31
blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/OssClient.java

@ -0,0 +1,31 @@
package org.springblade.resource.feign;
import lombok.AllArgsConstructor;
import org.springblade.core.oss.model.BladeFile;
import org.springblade.core.sms.model.SmsResponse;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.resource.builder.oss.OssBuilder;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@NonDS
@RestController
@AllArgsConstructor
public class OssClient implements IOssClient {
/**
* 对象存储构建类
*/
private final OssBuilder ossBuilder;
@Override
@PostMapping(name = FILE_UPLOAD,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<BladeFile> fileUpload(@RequestPart("file") MultipartFile file) {
return R.data(ossBuilder.template("minio","000000").putFile(file));
}
}
Loading…
Cancel
Save