一、阿里云oss存储服务
为了解决海量数据存储与弹性扩容,项目中我们采用云存储的解决方案—阿里云OSS。也可用于搭建免费图床哦(很香的)
1、开通 “对象存储OSS”服务
(1)打开阿里云网站 https://www.aliyun.com/
(2)注册阿里云账户,最好使用支付宝,需要实名认证
(3)使用注册的用户登录阿里云里面
(4)找到阿里云oss
(5)立即开通
2、进入oss管理控制台
使用oss,首先创建bucket
控制台上传图片
3、Java代码操作阿里云oss上传文件
1、准备工作:创建操作阿里云oss许可证(阿里云颁发id和秘钥)
2、参考文档
https://help.aliyun.com/document_detail/32008.htm
3、具体使用
(1)创建Maven项目
(2)POM
<dependencies> <!--aliyunOSS--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.8.3</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies>
(3)找到编码时需要用到的常量值
- endpoint
- bucketName
- accessKeyId
- accessKeySecret
(4)测试创建Bucket的连接
public class OSSTest { // Endpoint以杭州为例,其它Region请按实际情况填写。 String endpoint = "https://oss-cn-hangzhou.aliyuncs.com"; // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。 String accessKeyId = "<yourAccessKeyId>"; String accessKeySecret = "<yourAccessKeySecret>"; String bucketName = "<yourBucketName>"; // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 创建存储空间。 ossClient.createBucket(bucketName); // 关闭OSSClient。 ossClient.shutdown(); }
(5)判断存储空间是否存在
@Test public void testExist() { // 创建OSSClient实例。 OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); boolean exists = ossClient.doesBucketExist(bucketName); System.out.println(exists); // 关闭OSSClient。 ossClient.shutdown(); }
6)设置存储空间的访问权限
@Test public void testAccessControl() { // 创建OSSClient实例。 OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); // 设置存储空间的访问权限为:公共读。 ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead); // 关闭OSSClient。 ossClient.shutdown(); }