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

打印 上一主题 下一主题

主题 492|帖子 492|积分 1476

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

1,整合阿里云OSS

product模块中添加OSS依赖。
  1. <dependency>
  2.     <groupId>com.aliyun.oss</groupId>
  3.     <artifactId>aliyun-sdk-oss</artifactId>
  4.     <version>3.17.4</version>
  5. </dependency>
复制代码
2,测试上传文件

  1. public void testUpload() throws ClientException {
  2.         // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
  3.         String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
  4.         // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  5.         EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
  6.         // 填写Bucket名称,例如examplebucket。
  7.         String bucketName = "gulimallfuck";
  8.         // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
  9.         String objectName = "1234.png";
  10.         // 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。
  11.         // 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
  12.         String filePath= "C:\\Users\\Lenovo\\Desktop\\1.png";
  13.         // 创建OSSClient实例。
  14.         String accessKeyID = "LTAI5tCxH6terewer5dzq7uau";
  15.         String accessKeySecret = "fzQdfdsfdfaffdffaRopvBC40d1202jgb";
  16.         OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyID, accessKeySecret);
  17.         try {
  18.             // 创建PutObjectRequest对象。
  19.             PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new File(filePath));
  20.            
  21.             // 上传文件。
  22.             PutObjectResult result = ossClient.putObject(putObjectRequest);
  23.         } catch (Exception oe) {
  24.            oe.printStackTrace();
  25.         }
  26.     }
复制代码
这是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文件中加入以下依赖:
  1. <dependency>
  2.     <groupId>com.aliyun.oss</groupId>
  3.     <artifactId>aliyun-sdk-oss</artifactId>
  4.     <version>3.10.3</version>
  5. </dependency>
复制代码
假如你利用Gradle,可以添加如下依赖:
  1. dependencies {
  2.     implementation 'com.aliyun.oss:aliyun-sdk-oss:3.10.3'
  3. }
复制代码
实现OSS客户端

1. 初始化OSSClient

创建一个OSSClient实例来连接OSS服务。这个实例是线程安全的,可以在应用程序中重复利用。
  1. import com.aliyun.oss.OSS;
  2. import com.aliyun.oss.OSSClientBuilder;
  3. public class OSSClientUtil {
  4.     private static final String endpoint = "YourEndpoint"; // 替换为你所在区域的endpoint
  5.     private static final String accessKeyId = "YourAccessKeyId";
  6.     private static final String accessKeySecret = "YourAccessKeySecret";
  7.     public static OSS getInstance() {
  8.         return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
  9.     }
  10. }
复制代码
2. 创建Bucket

创建Bucket是利用OSS服务的第一步。你可以利用createBucket方法来创建一个新的Bucket。
  1. public void createBucket(String bucketName) {
  2.     OSS ossClient = OSSClientUtil.getInstance();
  3.     if (!ossClient.doesBucketExist(bucketName)) {
  4.         ossClient.createBucket(bucketName);
  5.     }
  6.     ossClient.shutdown();
  7. }
复制代码
3. 上传文件

利用putObject方法可以将本地文件上传到指定的Bucket中。
  1. public void uploadFile(String bucketName, String objectName, File file) {
  2.     OSS ossClient = OSSClientUtil.getInstance();
  3.     ossClient.putObject(bucketName, objectName, file);
  4.     ossClient.shutdown();
  5. }
复制代码
4. 下载文件

利用getObject方法可以从OSS中下载文件。
  1. public void downloadFile(String bucketName, String objectName, File destFile) {
  2.     OSS ossClient = OSSClientUtil.getInstance();
  3.     ossClient.getObject(new GetObjectRequest(bucketName, objectName), destFile);
  4.     ossClient.shutdown();
  5. }
复制代码
5. 删除文件

利用deleteObject方法可以删除指定的文件。
  1. public void deleteFile(String bucketName, String objectName) {
  2.     OSS ossClient = OSSClientUtil.getInstance();
  3.     ossClient.deleteObject(bucketName, objectName);
  4.     ossClient.shutdown();
  5. }
复制代码
最佳实践



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

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

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表