当前位置: 首页 > news >正文

谷粒商城实战笔记-62-商品服务-API-品牌管理-OSS整合测试

文章目录

  • 一,Java中上传文件到阿里云OSS
    • 1,整合阿里云OSS
    • 2,测试上传文件
  • 二,Java中整合阿里云OSS服务指南
    • 引言
    • 准备工作
      • 1. 注册阿里云账号
      • 2. 获取Access Key
      • 3. 添加依赖
    • 实现OSS客户端
      • 1. 初始化OSSClient
      • 2. 创建Bucket
      • 3. 上传文件
      • 4. 下载文件
      • 5. 删除文件
    • 最佳实践
    • 结语

一,Java中上传文件到阿里云OSS

1,整合阿里云OSS

product模块中添加OSS依赖。

<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version>
</dependency>

2,测试上传文件

public void testUpload() throws ClientException {// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();// 填写Bucket名称,例如examplebucket。String bucketName = "gulimallfuck";// 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。String objectName = "1234.png";// 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。// 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。String filePath= "C:\\Users\\Lenovo\\Desktop\\1.png";// 创建OSSClient实例。String accessKeyID = "LTAI5tCxH6terewer5dzq7uau";String accessKeySecret = "fzQdfdsfdfaffdffaRopvBC40d1202jgb";OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyID, accessKeySecret);try {// 创建PutObjectRequest对象。PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new File(filePath));// 上传文件。PutObjectResult result = ossClient.putObject(putObjectRequest);} catch (Exception oe) {oe.printStackTrace();}}

这是OSS参考文档中的代码,需要修改的地方:

  • endpoint
    在这里插入图片描述
    在OSS控制台查找endpoint。
    在这里插入图片描述
  • accessKeySecret 和 accessKeyId
    阿里云控制台,鼠标移至右上角头像处。
    在这里插入图片描述
    下列弹窗点击AccessKey 管理,进入一个页面后会有如下弹窗,选择开始使用子用户
    在这里插入图片描述
    创建用户。
    在这里插入图片描述
    在用户列表中点击刚创建的用户,进入新界面,点击创建AccessKey
    在这里插入图片描述
  • 选择一个文件,在代码中配置路径。
    在这里插入图片描述

运行测试用例,上传文件。

上传完成后,在文件列表中,可以看到刚刚上传的文件。

在这里插入图片描述

二,Java中整合阿里云OSS服务指南

引言

随着云计算的发展,越来越多的应用选择将数据存储在云服务提供商的平台上。阿里云对象存储服务(Object Storage Service,简称OSS)提供了简单高效、安全可靠、低成本的数据存储服务,非常适合存储大量图片、视频、日志数据等非结构化数据。

本文将指导你如何在Java项目中整合阿里云OSS服务,实现文件的上传、下载等功能,并给出一些最佳实践建议。

准备工作

1. 注册阿里云账号

如果你还没有阿里云账号,首先需要注册一个。注册完成后,你可以访问阿里云控制台,并在其中创建OSS Bucket。

2. 获取Access Key

为了能够使用OSS API,你需要获取Access Key ID 和 Access Key Secret。这些密钥用于身份验证,确保只有授权的用户才能访问你的Bucket。

  • 登录阿里云RAM控制台。
  • 进入AccessKey管理页面。
  • 创建新的Access Key并保存好Access Key ID 和 Access Key Secret。

3. 添加依赖

为了方便地使用OSS SDK,我们需要在项目中引入相应的依赖。如果你使用的是Maven,可以在pom.xml文件中加入以下依赖:

<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.3</version>
</dependency>

如果你使用Gradle,可以添加如下依赖:

dependencies {implementation 'com.aliyun.oss:aliyun-sdk-oss:3.10.3'
}

实现OSS客户端

1. 初始化OSSClient

创建一个OSSClient实例来连接OSS服务。这个实例是线程安全的,可以在应用程序中重复使用。

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;public class OSSClientUtil {private static final String endpoint = "YourEndpoint"; // 替换为你所在区域的endpointprivate static final String accessKeyId = "YourAccessKeyId";private static final String accessKeySecret = "YourAccessKeySecret";public static OSS getInstance() {return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);}
}

2. 创建Bucket

创建Bucket是使用OSS服务的第一步。你可以使用createBucket方法来创建一个新的Bucket。

public void createBucket(String bucketName) {OSS ossClient = OSSClientUtil.getInstance();if (!ossClient.doesBucketExist(bucketName)) {ossClient.createBucket(bucketName);}ossClient.shutdown();
}

3. 上传文件

使用putObject方法可以将本地文件上传到指定的Bucket中。

public void uploadFile(String bucketName, String objectName, File file) {OSS ossClient = OSSClientUtil.getInstance();ossClient.putObject(bucketName, objectName, file);ossClient.shutdown();
}

4. 下载文件

使用getObject方法可以从OSS中下载文件。

public void downloadFile(String bucketName, String objectName, File destFile) {OSS ossClient = OSSClientUtil.getInstance();ossClient.getObject(new GetObjectRequest(bucketName, objectName), destFile);ossClient.shutdown();
}

5. 删除文件

使用deleteObject方法可以删除指定的文件。

public void deleteFile(String bucketName, String objectName) {OSS ossClient = OSSClientUtil.getInstance();ossClient.deleteObject(bucketName, objectName);ossClient.shutdown();
}

最佳实践

  • 安全性:确保Access Key ID 和 Access Key Secret的安全,避免泄露。
  • 权限管理:使用RAM用户而非主账号的密钥,为不同的应用程序分配最小必要的权限。
  • 异常处理:处理好网络中断、服务器不可达等情况下的异常。
  • 日志记录:记录关键操作的日志以便追踪问题和审计。
  • 成本控制:定期清理不再使用的文件,利用OSS生命周期管理策略自动转换存储类别或删除过期文件。

结语

通过上述步骤,你可以在Java项目中轻松地整合阿里云OSS服务,实现文件的上传、下载等功能。阿里云OSS提供了丰富的API和工具,可以根据你的业务需求进一步定制和扩展。


希望这篇博客能帮助你在Java项目中顺利整合阿里云OSS服务。如果有任何疑问或需要进一步的帮助,请随时提问!

http://www.lryc.cn/news/408349.html

相关文章:

  • linux c 递归锁的介绍
  • React好用的组件库有哪些
  • 简单快捷!Yarn的安装与使用指南
  • 【Django】前端技术-网页样式表CSS
  • openssl req 详解
  • mysql各种锁总结
  • SpringSecurity--DelegatingFilterProxy工作流程
  • GitHub每日最火火火项目(7.27)
  • git 学习总结
  • 《如何找到自己想做的事》
  • Vue中el的两种写法
  • ELK安装(Elasticsearch+Logstash+Kibana+Filebeat)
  • VScode使用Github Copilot插件时出现read ECONNREST问题的解决方法
  • 充电桩浪涌保护方案—保障充电设施安全稳定运行的关键
  • Python包管理工具pip
  • 最全国内13家DNS分享 解决网页被恶意跳转或无法打开问题
  • 最新站长工具箱源码,拥有几百个功能,安装教程
  • 【算法/训练】:动态规划(线性DP)
  • 计算巨头 Azure、AWS 和 GCP 的比较
  • Thinkphp5跨域问题常见的处理方法
  • Matlab编程资源库(9)数据插值与曲线拟合
  • matplotlib的科研绘图辅助
  • C++内存管理(候捷)第五讲 笔记
  • 谷粒商城实战笔记-63-商品服务-API-品牌管理-OSS获取服务端签名
  • 详细介绍BIO、NIO、IO多路复用(select、poll、epoll)
  • 昇思25天学习打卡营第11天|xiaoyushao
  • 为什么样本方差(sample variance)的分母是 n-1?
  • 编解码器架构
  • 追问试面试系列:JVM运行时数据区
  • React Native在移动端落地实践