Aliyun OSS对象存储,可以用来做文件服务器,存放一些文件,图片等资源,那么我们使用OSS,需要经历以下步骤:
这里就从如何开通OSS服务开始进行,到如何上传一个资源文件到OSS结束。
这里就不谈了,有支付宝账号都可以算。
点击对象存储OSS,前往开通
登录自己的阿里云账号
登录自己的阿里云账号,进入到控制台:
在搜索栏中搜索OSS→点击OSS对象存储:
点击立即开通:
勾选协议→立即开通,等待几秒钟,就开通完成了:
开通成功:
进入到控制台,可以看到OSS对象存储相关的选项:
到这里,OSS对象存储就已经完成了。
bucket(桶),相当于是一个存储空间,而资源对象就是放到该空间里面,所以我们接下来接着创建一个Bucket空间:
在Bucket列表→创建Bucket:
填写相关信息,填写名称之后,存储类型如果做学习用或访问频率不高就选择“低频访问存储”,读写权限采用公共读,这样任何网络都可以去读取文件内容,然后点击确定,
Endpoint(地域节点)是根据不同地区生成的节点,我们在代码中上传的时候会用到,Bucket 域名 就是该存储空间的访问域名了,用来访问文件的:
到这里,bucket就创建好了。
可以在阿里云的OSS控制台直接进行文件上传,我们来试试:
找到刚刚创建的Bucket→上传文件:
选择电脑上的文件:
上传成功提示:
打开bucket,就可以看到我们刚刚上传的图片
到这里,通过OSS存储对象存储图片,就已经完成了,更多的操作找到里面的一些按钮就可以完成【比如下载,删除】。
我们要在代码里面去对接OSS,就需要使用到子账户,需要去提前准备好一些东西。
要准备好如下4个东西,才能在代码里面对接上OSS:
Endpoint(地域节点):oss-cn-beijing.aliyuncs.com ,创建存储空间Bucket时选择不同的地区生成的区域节点
存储空间:temp-bucket-cg , 存储空间的名字
AccessKey :创建的文件上传子账户的key
Secrect : 创建子账户对应的秘钥
点击AccessKey管理:
第一次进来,点击知晓并确定
接下来,我们选择创建子账户,因为权限会更高:
在用户界面→创建用户:
填写信息,勾选OpenAPI调用访问,然后点击确定。
到这里,子账户就创建好了,访问ID和访问密钥也能看到[复制下来保存好],这两个东西类似于账号密码,妥善保管。
接下来,我们需要给子账户添加权限,找到用户→自己的子账户→添加权限:
比如我这里给了一个OSS的管理权限,那么文件的读写就够了
到这里,关于子账户的创建和权限添加就设置成功了。
总结需要的东西:
Endpoint(地域节点):oss-cn-chengdu.aliyuncs.com
存储空间:oss-bucket-test1
AccessKey :子账户的key
Secrect : 子账户的秘钥
到这里,我们代码编写前的准备都已经ok了,接下来开始准备代码
首先我们需要引入阿里云提供的关于OSS的SDK(jar包),我们创建一个普通java项目(maven项目就导入对应的pom依赖),导入进来
可以直接在官网上进行下载:
导入之后的效果:
根据文档编写一个简单的文件上传:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import java.io.File;
/**
* @Author: xjx
* @Date: 2024/01/23/15:27
* @Description: 往阿里云oss存储引擎里面存放图片
*
*/
public class OSSAddTest {
public static void main(String[] args) {
try {
//端点,我这里的端点是成都
String endpoint = "http://oss-cn-chengdu.aliyuncs.com";
//阿里云主账号AccessKeyID(访问ID)、accessKeySecret(访问密钥)
// String accessKeyId = "LTAI5t6sqde8e6WtVuceqY5i";
// String accessKeySecret = "vslILUVGfW7RGvf2Q2DIfoAE4fqdFE";
String accessKeyId = "你的访问accessKey";
String accessKeySecret = "你的秘钥";
//根据提供的信息创建OSSClient(oss客户端)实例
OSS ossClient = new OSSClientBuilder().
build(endpoint, accessKeyId, accessKeySecret);
//创建好对象后,往oss里面添加图片,创建添加对象【bucketName:桶名,key:添加之后的名字(名字一样会覆盖原图片),第三个参数是本地图片地址】
PutObjectRequest putObjectRequest = new PutObjectRequest("oss-bucket-test1", "a.png",
new File("C:\\Users\\d\\Pictures\\00004-3806264314.png"));
//执行上传
ossClient.putObject(putObjectRequest);
//用完之后,关闭OSS客户端
ossClient.shutdown();
System.out.println("文件上传成功!");
}catch (Exception e){
e.printStackTrace();
}
}
}
运行后java控制台:
OSS的Bucket里面:
到这里,成功通过java代码将图片上传到OSS里面,后续更多操作详情请看官方文档:PutObject_对象存储(OSS)-阿里云帮助中心 (aliyun.com)