阿里云OSS的开通+配置及其使用

您所在的位置:网站首页 阿里云cdn和oss 阿里云OSS的开通+配置及其使用

阿里云OSS的开通+配置及其使用

2024-07-09 15:30| 来源: 网络整理| 查看: 265

云存储解决方案-阿里云OSS

文章目录 云存储解决方案-阿里云OSS1. 阿里云OSS简介2. OSS开通(1)打开https://www.aliyun.com/ ,申请阿里云账号并完成实名认证。(2)充值 (可以不用做)(3)开通OSS(4)创建存储空间(5)上传一张图片,测试是否成功(6)创建AccessKey 3.Java集成OSS(1)入门(2)集成到项目中1、pom.xml2、application.properties代码:3、UploadController代码:4、使用postman测试:

1. 阿里云OSS简介

​ 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。

​ 您可以进行以下操作:

创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。通过获取已上传文件的地址进行文件的分享和下载。通过修改存储空间或文件的属性或元信息来设置相应的访问权限。在阿里云管理控制台执行基本和高级OSS任务。使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务 2. OSS开通 (1)打开https://www.aliyun.com/ ,申请阿里云账号并完成实名认证。 (2)充值 (可以不用做) (3)开通OSS

第一种:点链接 点击开通: 开通OSS

第二种:步骤开通 登录阿里云官网。 点击右上角的控制台。 在这里插入图片描述

将鼠标移至产品,找到并单击对象存储OSS,打开OSS产品详情页面。在OSS产品详情页中的单击立即开通。

在这里插入图片描述 会弹出提示框之类的,同意就行

在这里插入图片描述

开通服务后,在OSS产品详情页面单击管理控制台直接进入OSS管理控制台界面。您也可以单击位于官网首页右上方菜单栏的控制台,进入阿里云管理控制台首页,然后单击左侧的对象存储OSS菜单进入OSS管理控制台界面。

(4)创建存储空间

新建Bucket,命名为 自定义,读写权限为 公共读 按照下面选择就行,主要是红框里面的要选,其他默认就行,都是不开通或者关闭,其中名称自己命名,地址选自己所在区域

在这里插入图片描述 在这里插入图片描述

(5)上传一张图片,测试是否成功

创建完毕后,在可以进行图片上传测试

扫描文件 ------ 上传文件 -------

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在任务列表页面进行查看详情------点击详情后下载图片

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 下载成功,说明可以访问!!!!

(6)创建AccessKey

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

继续使用就行,但是注意,这些都是自己的私密资源,要保证自己信息的安全性

在这里插入图片描述

3.Java集成OSS

官网参考链接: https://help.aliyun.com/zh/oss/developer-reference/java-installation

参照官方提供的SDK,改造一下,即可实现文件上传功能:

(1)入门 import com.aliyun.oss.ClientException; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.OSSException; import com.aliyun.oss.model.PutObjectRequest; import com.aliyun.oss.model.PutObjectResult; import java.io.FileInputStream; import java.io.InputStream; public class AliOssTest { public static void main(String[] args) throws Exception { // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。 String endpoint = "oss-cn-shanghai.aliyuncs.com"; // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。 String accessKeyId = ""; String accessKeySecret = ""; // 填写Bucket名称,例如examplebucket。 String bucketName = ""; // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。 String objectName = ""; // 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。 // 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。 String filePath= ""; // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); try { InputStream inputStream = new FileInputStream(filePath); // 创建PutObjectRequest对象。 PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream); // 设置该属性可以返回response。如果不设置,则返回的response为空。 putObjectRequest.setProcess("true"); // 创建PutObject请求。 PutObjectResult result = ossClient.putObject(putObjectRequest); // 如果上传成功,则返回200。 System.out.println(result.getResponse().getStatusCode()); } catch (OSSException oe) { System.out.println("Caught an OSSException, which means your request made it to OSS, " + "but was rejected with an error response for some reason."); System.out.println("Error Message:" + oe.getErrorMessage()); System.out.println("Error Code:" + oe.getErrorCode()); System.out.println("Request ID:" + oe.getRequestId()); System.out.println("Host ID:" + oe.getHostId()); } catch (ClientException ce) { System.out.println("Caught an ClientException, which means the client encountered " + "a serious internal problem while trying to communicate with OSS, " + "such as not being able to access the network."); System.out.println("Error Message:" + ce.getMessage()); } finally { if (ossClient != null) { ossClient.shutdown(); } } } }

在以上代码中,需要替换的内容为:

accessKeyId:阿里云账号AccessKeyaccessKeySecret:阿里云账号AccessKey对应的秘钥bucketName:Bucket名称objectName:对象名称,在Bucket中存储的对象的名称filePath:文件路径

运行以上程序后,会把本地的文件上传到阿里云OSS服务器上 在这里插入图片描述

(2)集成到项目中 1、pom.xml

在Maven工程中使用OSS Java SDK,只需在pom.xml中加入相应依赖即可。以3.15.1版本为例加入如下内容:

com.aliyun.oss aliyun-sdk-oss 3.15.1

如果使用的是Java 9及以上的版本,则需要添加jaxb相关依赖。添加jaxb相关依赖示例代码如下:

javax.xml.bind jaxb-api 2.3.1 javax.activation activation 1.1.1 org.glassfish.jaxb jaxb-runtime 2.3.3 2、application.properties代码: #自定义的阿里云OSS配置信息 aliyun.oss.endpoint= aliyun.oss.accessKeyId= aliyun.oss.accessKeySecret= aliyun.oss.bucketName=

引入阿里云OSS上传文件工具类(由官方的示例代码改造而来)

import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; import java.util.UUID; @Component public class AliOSSUtils { @Value("${aliyun.oss.endpoint}") private String endpoint; @Value("${aliyun.oss.accessKeyId}") private String accessKeyId; @Value("${aliyun.oss.accessKeySecret}") private String accessKeySecret; @Value("${aliyun.oss.bucketName}") private String bucketName; /** * 实现上传图片到OSS */ public String upload(MultipartFile multipartFile) throws IOException { // 获取上传的文件的输入流 InputStream inputStream = multipartFile.getInputStream(); // 避免文件覆盖 String originalFilename = multipartFile.getOriginalFilename(); String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf(".")); //上传文件到 OSS OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); ossClient.putObject(bucketName, fileName, inputStream); //文件访问路径 String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName; // 关闭ossClient ossClient.shutdown(); return url;// 把上传到oss的路径返回 } } 3、UploadController代码: import com.itheima.pojo.Result; import com.itheima.utils.AliOSSUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; @Slf4j @RestController public class UploadController { @Autowired private AliOSSUtils aliOSSUtils; @PostMapping("/upload") public Result upload(MultipartFile image) throws IOException { //调用阿里云OSS工具类,将上传上来的文件存入阿里云 String url = aliOSSUtils.upload(image); //将图片上传完成后的url返回,用于浏览器回显展示 return Result.success(url); } } 4、使用postman测试:

注意:选择-------------- form-data 并且 值要选择为file类型

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3