阿里云对象存储使用指南
1.服务介绍
海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性。使用RESTful API 可以在互联网任何位置存储和访问,容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
1.1产品优势
1.2产品功能
2. 创建对象存储空间
2.1创建阿里云账号
https://www.aliyun.com/1111/new?userCode=vz8lhqdd
2.2开通对象存储服务
https://www.aliyun.com/product/oss
3.上传文件测试
3.1 官网提供SDK开发包
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
3.2使用SDK测试上传文件
//初始化OSS
@Bean
public OSS oss(){
return new OSSClientBuilder().build(OssAC.ENDPOINT,OssAC.ACCESSKEY_ID, OssAC.ACCESSKEY_SECRET);
}
package com.huiminpay.merchant.config;
public class OssAC {
public static final String ENDPOINT = "oss-cn-beijing.aliyuncs.com";
public static final String BUCKET = "xwh0330";
public static final String DOMAIN = "https://xwh0330.oss-cn-beijing.aliyuncs.com/";
public static final String ACCESSKEY_ID = "LTAI5tAF*****3iiKHJJZ";
public static final String ACCESSKEY_SECRET = "lgDEqGHEs*****vtKhkITFO";
}
@ApiOperation("测试")
@PostMapping("/upload2")
public String upload2(@RequestParam("file") MultipartFile multipartFile){
try {
InputStream inputStream = multipartFile.getInputStream();
//获取上传文件名称
String fullename =multipartFile.getOriginalFilename();
//截取文件扩展名
String ext = fullename.substring(fullename.lastIndexOf("."));
//自定义文件名称
String fileName = System.currentTimeMillis()+ext;
// 组合阿里云OSS上传参数 依次为 存储空间名,文件名(可以包括文件夹),文件流
// 注意对象存储没有文件夹概念,如果要区分文件可以再文件名加/ eg:/2021/04/16/202111222555.png
PutObjectRequest putObjectRequest = new PutObjectRequest(OosAC.BUCKET,fileName,inputStream);
// 上传
oss.putObject(putObjectRequest);
return OosAC.DOMAIN+fileName;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}