个人主页:金鳞踏雨
个人简介:大家好,我是金鳞,一个初出茅庐的Java小白
目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作
我的博客:这里是CSDN,是我学习技术,总结知识的地方。希望和各位大佬交流,共同进步 ~
什么是 OSS?
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。
简单的来说,就是可以用来存图片、视频、音频等信息。
OSS 工作原理
数据以对象(Object)的形式存储在OSS的存储空间(Bucket )中。
如果要使用OSS存储数据,您需要先创建Bucket,并指定Bucket的地域、访问权限、存储类型等属性。创建Bucket后,您可以将数据以Object的形式上传到Bucket,并指定Object的文件名(Key)作为其唯一标识。
OSS以HTTP RESTful API的形式对外提供服务,访问不同地域需要不同的访问域名(Endpoint)。当您请求访问OSS时,OSS通过使用访问密钥(AccessKey ID和AccessKey Secret)对称加密的方法来验证某个请求的发送者身份。
OSS 工具类
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import java.io.File;
import java.io.InputStream;
public class OSSUtils {
private static final String endpoint = "your_endpoint";
private static final String accessKeyId = "your_access_key_id";
private static final String accessKeySecret = "your_access_key_secret";
private static final String bucketName = "your_bucket_name";
private OSS client;
public OSSUtils() {
client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
}
// 创建存储空间
public void createBucket(String bucketName) {
client.createBucket(bucketName);
}
// 删除存储空间
public void deleteBucket(String bucketName) {
client.deleteBucket(bucketName);
}
// 上传文件
public void uploadFile(String key, File file) {
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, file);
client.putObject(putObjectRequest);
}
// 上传文件流
public void uploadFile(String key, InputStream inputStream) {
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, inputStream);
client.putObject(putObjectRequest);
}
// 关闭OSS客户端连接
public void close() {
client.shutdown();
}
}
调用示例
public static void main(String[] args) {
OSSUtils ossUtils = new OSSUtils();
// 创建存储空间
ossUtils.createBucket("my-bucket");
// 上传文件
File file = new File("localFilePath");
ossUtils.uploadFile("key", file);
// 上传文件流
InputStream inputStream = ...; // 获取文件输入流
ossUtils.uploadFile("key", inputStream);
// 关闭OSS客户端连接
ossUtils.close();
}
相应参数
endpoint
:OSS服务的访问域名,例如https://oss-cn-beijing.aliyuncs.com
。您需要根据您的OSS实例的地域和服务商提供的具体信息进行替换。accessKeyId
:您的阿里云账号的Access Key ID。您可以在阿里云控制台的访问密钥管理中获取到该信息。accessKeySecret
:您的阿里云账号的Access Key Secret。您可以在阿里云控制台的访问密钥管理中获取到该信息。bucketName
:您创建的存储空间(Bucket)的名称。
阿里云各位API地址
oss用户成长集合页面 (aliyun.com)
下述有阿里云的相关SDK,有提供示例代码:
文章到这里就结束了,如果有什么疑问的地方,可以在评论区指出~
希望能和大佬们一起努力,诸君顶峰相见
再次感谢各位小伙伴儿们的支持!!!