目录
- OSS申请和配置
- springboot整合使用
OSS申请和配置
1. 注册登录
输入网址:https://www.aliyun.com/product/oss
如果没有账号点击免费注册,然后登录。
2.开通以及配置
点击立即开通
进入管理控制台
第一次使用会出现引导,按引导点击“我知道了”,然后点击创建Bucket。
如果没有存储包或流量包点击购买。
点击确定,返回主页面,出现该页面,点击我知道了
将EndPoint记录下来,方便后期添加到我们项目的配置文件中
创建 AccessKeyID 和 AccessKeySecret
点击创建Access key,第一次需要短信验证,验证成功后弹出
保留Access key 以及 AccessKeySecret 信息
springboot整合使用
1. 进入我们springboot的项目中,导入oss相关依赖
?
1
2
3
4
5
|
< dependency >
< groupId >com.aliyun.oss</ groupId >
< artifactId >aliyun-sdk-oss</ artifactId >
< version >2.8.3</ version >
</ dependency >
|
2. 再配置文件中添加相关信息
?
1
2
3
4
5
6
7
|
oss.aliyun.accessKeyId= #
oss.aliyun.accessKeySecret= #
oss.aliyun.bucketName= mutest-qcby-oss
oss.aliyun.endpoint= #
oss.aliyun.pubFlag= false
oss.aliyun.expiration= 100
oss.aliyun.sslNmae= #内网使用,不必须
|
3. 书写获取配置信息的java文件,建立properties包(导入依赖,否则无法识别这个包)
?
1
2
3
4
5
|
< dependency >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-configuration-processor</ artifactId >
< optional >true</ optional >
</ dependency >
|
OssProerties.java
?
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
import com.mbyte.easy.oss.OssUtil;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
/**
* @ClassName: OssProerties
* @Description: 阿里云 对象云存储配置类
* @Author: zte
* @Date: 2019-02-14 09:37
* @Version 1.0
**/
@Data
@Component
@ConfigurationProperties (prefix = "oss.aliyun" )
public class OssProerties {
private String accessKeyId;
private String accessKeySecret;
private String bucketName;
private String endpoint;
private String bucket;
private boolean pubFlag;
private String sslNmae;
@PostConstruct
public void init(){
//Oss工具类配置初始化
OssUtil.initConfig( this );
}
//过期时间
private int expiration;
public String getAccessKeyId() {
return accessKeyId;
}
public OssProerties setAccessKeyId(String accessKeyId) {
this .accessKeyId = accessKeyId;
return this ;
}
public String getAccessKeySecret() {
return accessKeySecret;
}
public OssProerties setAccessKeySecret(String accessKeySecret) {
this .accessKeySecret = accessKeySecret;
return this ;
}
public String getBucketName() {
return bucketName;
}
public OssProerties setBucketName(String bucketName) {
this .bucketName = bucketName;
return this ;
}
public String getEndpoint() {
return endpoint;
}
public OssProerties setEndpoint(String endpoint) {
this .endpoint = endpoint;
return this ;
}
public String getBucket() {
return bucket;
}
public OssProerties setBucket(String bucket) {
this .bucket = bucket;
return this ;
}
public boolean isPubFlag() {
return pubFlag;
}
public void setPubFlag( boolean pubFlag) {
this .pubFlag = pubFlag;
}
public int getExpiration() {
return expiration;
}
public OssProerties setExpiration( int expiration) {
this .expiration = expiration;
return this ;
}
@Override
public String toString() {
return "OssPro{" +
"accessKeyId='" + accessKeyId + '\\ '' +
", accessKeySecret='" + accessKeySecret + '\\ '' +
", bucketName='" + bucketName + '\\ '' +
", endpoint='" + endpoint + '\\ '' +
", bucket='" + bucket + '\\ '' +
", expiration=" + expiration +
'}' ;
}
}
|
4. 整合oss,书写相关java文件
1. 文件常量java文件 FileConstants.java
?
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
|
package com.mbyte.easy.oss;
import org.springframework.util.ClassUtils;
import java.io.File;
/**
* @ClassName: FileConstants
* @Description: 文件常量
* @Author: lxt
* @Date: 2019-02-19 09:59
* @Version 1.0
**/
public class FileConstants {
/**
* 文件存储临时文件夹
*/
public final static String TEMP_ROOT = "temp" ;
/**
* 下载暂存目录
*/
public final static String DOWNLOAD = TEMP_ROOT+ File.separator+ "download" ;
/**
* 后缀名相关常量(包含【.】)
*/
public final static String SUFFIX_ZIP = ".zip" ;
/**
* png图片后缀
*/
public final static String SUFFIX_png = ".png" ;
/**
* 二维码暂存路径 eg:微信支付二维码
*/
public static final String QRCODE = "qrcode" ;
public static final String QRCODE_PATH = ClassUtils.getDefaultClassLoader().getResource( "static" ).getPath()+File.separator+QRCODE;
/**
* 文件的后缀名
*/
public static final String FILE_TYPE_AVI = "avi" ;
public static final String FILE_TYPE_CSV = "csv" ;
public static final String FILE_TYPE_DOC = "doc" ;
public static final String FILE_TYPE_DOCX = "docx" ;
public static final String FILE_TYPE_MP3 = "mp3" ;
public static final String FILE_TYPE_PDF = "pdf" ;
public static final String FILE_TYPE_PPT = "ppt" ;
public static final String FILE_TYPE_PPTX = "pptx" ;
public static final String FILE_TYPE_RAR = "rar" ;
public static final String FILE_TYPE_TXT = "txt" ;
public static final String FILE_TYPE_XLS = "xls" ;
public static final String FILE_TYPE_ZIP = "zip" ;
/**
* 文件对应图片的oss路径
*/
public static final String FILE_TYPE_AVI_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092751242.U27AJS.png?Expires=4731182871&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=0S4nIClHiI11Iw2SOnLoKuwpiDc%3D" ;
public static final String FILE_TYPE_CSV_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092859378.A0J8R6.png?Expires=4731182939&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=McS77A%2BMOkmSjBfZziIxLeR5QCM%3D" ;
public static final String FILE_TYPE_DOC_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092908602.QHFWCO.png?Expires=4731182949&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=%2Fr9V%2FP8nmfYKVbANe2fl1qR%2FFwg%3D" ;
public static final String FILE_TYPE_DOCX_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092908602.QHFWCO.png?Expires=4731182949&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=%2Fr9V%2FP8nmfYKVbANe2fl1qR%2FFwg%3D" ;
public static final String FILE_TYPE_MP3_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092920411.L5CBAF.png?Expires=4731182960&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=wPz2ylPAg%2FpBqyIz4LztacVfRwo%3D" ;
public static final String FILE_TYPE_PDF_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092930146.CU0CAD.png?Expires=4731182970&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=Nwl6%2BkZmosARipe%2BoVJT3FdRLqM%3D" ;
public static final String FILE_TYPE_PPT_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092939365.XHOX9G.png?Expires=4731182979&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=3CDxl0W5ymVXe2XLnxLn1ewc1gU%3D" ;
public static final String FILE_TYPE_PPTX_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092939365.XHOX9G.png?Expires=4731182979&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=3CDxl0W5ymVXe2XLnxLn1ewc1gU%3D" ;
public static final String FILE_TYPE_RAR_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092949684.9OW7L9.png?Expires=4731182989&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=RCKarsekmPG3CXI5D6MLpJ4ocj4%3D" ;
public static final String FILE_TYPE_TXT_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205092959887.TF1K0N.png?Expires=4731183000&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=9l44IQ0FZdQMcRq92PPOXlBKEFk%3D" ;
public static final String FILE_TYPE_XLS_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205093007830.M6O08Z.png?Expires=4731183008&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=GeNmvgi7TGMq3uk9AG0%2BJRWRFY0%3D" ;
public static final String FILE_TYPE_ZIP_ROUTE = "https://hmett.oss-cn-beijing.aliyuncs.com/20191205093017998.Q39L45.png?Expires=4731183018&OSSAccessKeyId=LTAI4FqUE3bJs9FK7Sj65JnM&Signature=djzJ7rTgH8LvCeaMfWGXUAQIpJE%3D" ;
}
|
2. 文件操作工具类 OssFileUtils.java
?
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|