网站首页 > 教程文章 正文
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。下面给大家分享一下SpringBoot项目整合阿里云OSS。
1、首先先登录自己的阿里云账号,并搜索RAM,进入RAM管理控制台。
2、创建用户,在RAM控制台选择左侧用户,点击创建用户
3、给用户授权,点击左侧授权,给用户授权,选择AliyunOSSFullAccess和AliyunOSSReadOnlyAccess
4、创建角色并给角色授权
5、获取角色ARN
6、开通阿里云对象存储OSS
7、进入OSS控制台
8、创建Bucket,要记住Bucket名字及Endpoint,代码里要用到
9、创建AccessKey,获取授权信息
点击右下角的AccessKey,创建AccessKey
10、SpringBoot项目集成
(1)通过idea创建一个Spring-boot项目
(2)在pom.xm中引入oss关联的依赖
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
(3)在配置文件里配置OSS基础信息
(4)创建OssUtil
(5)编写上传文件方法
public String uploadFile2OSS(InputStream instream, String fileName) {
String ret = "";
try {
//创建上传Object的Metadata
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentLength(instream.available());
objectMetadata.setCacheControl("no-cache");
objectMetadata.setHeader("Pragma", "no-cache");
objectMetadata.setContentType(getcontentType(fileName.substring(fileName.lastIndexOf("."))));
objectMetadata.setContentDisposition("inline;filename=" + fileName);
//上传文件
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
PutObjectResult putResult = ossClient.putObject(bucketName, filedir + fileName, instream, objectMetadata);
ret = putResult.getETag();
} catch (IOException e) {
log.error(e.getMessage(), e);
} finally {
try {
if (instream != null) {
instream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return ret;
}
猜你喜欢
- 2024-12-22 有遇到部署服务器后刷新404问题吗?
- 2024-12-22 PolarDB-X on OSS: 冷热数据分离存储
- 2024-12-22 阿里云OSS+又拍云CDN加速 又拍云cdn配置
- 2024-12-22 阿里云OSS上传图片不能打开的解决办法
- 2024-12-22 uniapp 上传阿里云oss uniapp上传图片到服务器失败
- 2024-12-22 阿里云产品火爆的存储服务-对象存储OSS
- 2024-12-22 阿里云OSS对象存储STS鉴权配置 简要介绍阿里云对象存储oss的使用场景
- 2024-12-22 spring boot上传阿里云对象存储OSS快速上手(一、控制台简介)
- 2024-12-22 配置阿里云OSS图床 阿里云 oss 图片
- 2024-12-22 阿里oss开源实现,分布式存储对象MinIO介绍
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)