✅P62_品牌管理-OSS整合测试
大约 3 分钟
对象存储 OSS-SDK示例
将如下代码粘贴至测试方法:
其中 **Endpoint(地域节点)**为红色框所示:
开通阿里云账号AccessKey
点击“Accesskey管理”:
新建子账号:
勾选“Open API调用访问”,生成 **AccessKeyId 和AccessKeySecret **
分配权限:
如果提示:
- 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
- 言外之意就是别用阿里云账号的AccessKey。
操作:
- 登录RAM控制台。
- 在左侧导航栏,选择身份管理 > 用户。
- 在用户页面,单击目标RAM用户名称。
- 在用户AccessKey区域,单击创建AccessKey。
- 根据界面提示完成安全验证。
- 在创建AccessKey对话框,查看AccessKey ID和AccessKey Secret。您可以单击下载CSV文件,下载AccessKey信息。单击复制,复制AccessKey信息。
测试上传
测试代码:cfmall-product/src/test/java/com/gyz/cfmall/product/CfmallProductApplicationTests.java
@Test
public void testUpload() throws FileNotFoundException {
// yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
String endpoint = "oss-cn-beijing.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "填写自己的accessKeyId";
String accessKeySecret = "填写自己的accessKeySecret";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
InputStream inputStream = new FileInputStream("E:\\SSM_study\\picture\\center.jpg");
// 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
ossClient.putObject("cfmall-hello", "center.jpg", inputStream);
// 关闭OSSClient。
ossClient.shutdown();
System.out.println("上传完成");
}
上传成功:
正常访问:
SpringCloud Alibaba-OSS
使用cfmall-common
工程引入OSS的jar
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alicloud-oss -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alicloud-oss</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
在 cfmall-product
的 application.yml
中配置 accessKeyId、secretAccessKey 和 endpoint。
spring:
datasource:
......
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
alicloud:
access-key: AccessKey ID
secret-key: AccessKey Secret
oss:
endpoint: oss-cn-beijing.aliyuncs.com
测试代码: cfmall-product/src/test/java/com/gyz/cfmall/product/CfmallProductApplicationTests.java
@Autowired
OSSClient ossClient;
@Test
public void testUpload() throws FileNotFoundException {
// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
InputStream inputStream = new FileInputStream("E:\\SSM_study\\picture\\lala.jpg");
// 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
ossClient.putObject("cfmall-hello", "lala.jpg", inputStream);
// 关闭OSSClient。
ossClient.shutdown();
System.out.println("上传完成");
}
上传成功