个人主页金鳞踏雨

个人简介:大家好,我是金鳞,一个初出茅庐的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,有提供示例代码:

文章到这里就结束了,如果有什么疑问的地方,可以在评论区指出~

希望能和大佬们一起努力,诸君顶峰相见

再次感谢各位小伙伴儿们的支持!!!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐