OSSService.java
2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.brframework.commonwebbase.service;
import com.brframework.commonoss.core.AliYunOSSClient;
import com.brframework.commonoss.core.OSSMessage;
import com.brframework.commonoss.core.sts.AliYunSTSClient;
import com.brframework.commonoss.core.sts.AliYunSTSPolicyBuilder;
import com.brframework.commonoss.core.sts.AliYunSTSPolicyStatementBuilder;
import com.brframework.commonoss.core.sts.STSAuthorization;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.File;
/**
* 管理后台oss
* @author xu
* @date 2019年8月28日16:01:07
*/
@Service
public class OSSService {
@Autowired
AliYunOSSClient ossClient;
@Autowired
AliYunSTSClient stsClient;
/**
* 所有bucket的写权限
* @return
*/
public OSSMessage adminSts(){
String prefix = "admin-file";
String bucket = ossClient.getDefaultBucketName();
STSAuthorization sts = stsClient.getSTSAuthorization(AliYunSTSPolicyBuilder.builder()
.statement(AliYunSTSPolicyStatementBuilder.builder()
.effect("Allow")
.action("oss:*")
.resource("acs:oss:*:*:" + bucket + "/" + prefix + "/*")
)
);
return ossClient.getOSSMessage(sts, bucket, prefix);
}
/**
* 只有写入权限
* @return
*/
public OSSMessage apiSts(){
String prefix = "app-file";
String bucket = ossClient.getDefaultBucketName();
STSAuthorization sts = stsClient.getSTSAuthorization(AliYunSTSPolicyBuilder.builder()
.statement(AliYunSTSPolicyStatementBuilder.builder()
.effect("Allow")
.action("oss:PutObject")
.resource("acs:oss:*:*:" + bucket + "/" + prefix + "/*")
)
);
return ossClient.getOSSMessage(sts, bucket, prefix);
}
public void upload(String key, File file){
ossClient.upload(key, file);
}
public String imageHandle(String imageUrl){
return ossClient.genUrl(imageUrl);
}
}