本文详细介绍了如何使用阿里云OSS进行云文件上传开发,包括初始化OSS客户端、设置Bucket名称和地区、上传文件、文件管理和操作以及设置文件访问权限等步骤。文中提供了丰富的代码示例,帮助开发者快速掌握OSS云文件上传开发的全过程。
引入阿里云OSS服务阿里云OSS(Object Storage Service)是一种可扩展的分布式云存储服务,提供了一个稳定、安全、高效的存储解决方案。OSS旨在为网站、移动应用、音视频处理、企业应用等场景提供存储服务,支持图片、音视频、文本、日志等多种数据类型的存储。
1.1 什么是阿里云OSS服务
阿里云OSS服务是一种分布式对象存储系统,它允许用户存储和访问各种类型的数据,包括但不限于图片、音视频、日志等。OSS提供了高可用性和高可靠性的数据存储,支持多种编程语言,包括Java、Python、Node.js等。
阿里云OSS服务的核心功能包括:
- 高可用性:OSS服务设计为高度可用,确保数据不会丢失。
- 高可靠性:数据分布在多个数据中心,确保数据的安全性和持久性。
- 可扩展性:支持存储PB级别的数据,满足大规模应用的需求。
- 安全性:支持多种安全认证方式,确保数据的安全性。
- 易用性:提供丰富的API接口,可以快速集成到各种应用中。
1.2 注册阿里云账号并开通OSS服务
- 访问阿里云官网(https://www.aliyun.com/),点击“立即注册”创建一个新账号。
- 登录阿里云控制台。
- 在左侧导航栏中选择“产品”分类,然后找到并点击“OSS”服务。
- 点击“创建存储空间”按钮,输入Bucket名称和选择地理位置,然后点击“确定”创建Bucket。
阿里云账号注册和OSS服务开通的步骤如下:
- 登录阿里云官网或使用已有账号登录。
- 在控制台中选择“对象存储OSS”,点击“创建Bucket”。
- 按需填写Bucket名称和选择合适的位置,点击“创建”。
- 创建完成后,可以在列表中查看新创建的Bucket。
1.3 获取AccessKey ID和AccessKey Secret
在使用阿里云OSS服务之前,需要获取AccessKey ID和AccessKey Secret。这些凭证将用于身份验证和授权。
- 在阿里云控制台中,点击“访问控制RAM”,然后点击“用户管理”。
- 在用户列表中选择或创建一个用户,点击“查看AccessKey”。
- 点击“创建AccessKey”,并保存生成的AccessKey ID和AccessKey Secret。
获取AccessKey ID和AccessKey Secret的步骤如下:
- 登录阿里云控制台。
- 在左侧导航栏中选择“访问控制RAM”,然后点击“用户管理”。
- 在用户列表中选择或创建一个用户。
- 点击所选用户的“查看AccessKey”按钮,然后点击“创建AccessKey”。
- 保存生成的AccessKey ID和AccessKey Secret,这两个凭证将用于后续的API调用。
获取AccessKey ID和AccessKey Secret的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
public class AccessKeyExample {
public static void main(String[] args) {
// 创建OSSClient实例。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// AccessKey ID和AccessKey Secret。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 关闭OSSClient。
ossClient.shutdown();
}
}
初始化OSS客户端
在使用阿里云OSS服务之前,需要初始化OSS客户端。本节将详细介绍如何使用阿里云SDK初始化OSS客户端,以及如何设置Bucket名称和地区。
2.1 使用阿里云SDK初始化OSS客户端
使用阿里云SDK初始化OSS客户端是使用OSS服务的基础步骤。阿里云提供了多种SDK,支持不同的编程语言。这里以Java语言为例进行介绍。
首先,需要在项目中引入阿里云SDK。对于Java项目,可以通过Maven或Gradle添加依赖。
Maven依赖
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.1</version>
</dependency>
Gradle依赖
implementation 'com.aliyun.oss:aliyun-sdk-oss:3.10.1'
接下来,通过以下代码初始化OSS客户端:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
public class OSSClientInit {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 关闭OSSClient。
ossClient.shutdown();
}
}
2.2 设置Bucket名称和地区
在初始化OSS客户端后,需要指定Bucket名称和地区。Bucket名称是一个全局唯一的字符串,用于标识存储空间。地区选择应根据实际应用的需求来选择,以确保数据的访问速度和成本最优。
设置Bucket名称和地区的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
public class OSSClientInitWithBucket {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// Bucket所在地区。
String region = "oss-cn-hangzhou";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 判断Bucket是否存在。
boolean isExist = ossClient.doesBucketExist(bucketName);
if (isExist) {
System.out.println(bucketName + " Bucket 存在");
} else {
System.out.println(bucketName + " Bucket 不存在");
// 如果Bucket不存在,可以创建一个新Bucket。
ossClient.createBucket(bucketName);
System.out.println(bucketName + " Bucket 创建成功");
}
// 关闭OSSClient。
ossClient.shutdown();
}
}
文件上传指南
在初始化OSS客户端并设置Bucket名称和地区后,可以开始上传文件。本节将介绍如何选择合适的文件格式,编写文件上传代码,以及如何处理上传过程中可能出现的异常。
3.1 选择合适的文件格式
在上传文件之前,需要选择合适的文件格式。常见的文件格式包括图片(如JPEG、PNG)、音视频(如MP4、MP3)以及文本文件(如TXT、CSV)。选择文件格式时,应考虑文件的用途和兼容性。
阿里云OSS支持多种常见的文件格式,包括但不限于:
- 图片:JPEG、PNG、SVG
- 视频:MP4、MOV、AVI
- 音频:MP3、WAV、FLAC
- 文本:TXT、CSV、JSON
- 压缩文件:ZIP、RAR、TAR
3.2 编写文件上传代码
在编写文件上传代码之前,需要确保已经初始化了OSS客户端,并设置了Bucket名称和地区。接下来,可以通过OSS客户端调用putObject
方法上传文件。
如下代码展示了如何上传本地文件到OSS:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import java.io.File;
public class FileUploadExample {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 本地文件路径。
String localFile = "C:\\local\\path\\localfile.txt";
// OSS文件路径。
String fileKey = "path/to/remote/file.txt";
try {
// 上传文件到OSS。
ossClient.putObject(bucketName, fileKey, new File(localFile));
System.out.println(fileKey + " 文件上传成功");
} catch (Exception e) {
System.out.println("文件上传失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
3.3 处理上传过程中可能出现的异常
在文件上传过程中,可能会出现各种异常情况,包括网络问题、权限不足等。为了确保代码的健壮性,需要在上传过程中捕获并处理异常。
以下代码展示了如何捕获并处理上传文件时可能出现的异常:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import java.io.File;
import java.util.concurrent.ExecutionException;
public class FileUploadWithExceptionHandling {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 本地文件路径。
String localFile = "C:\\local\\path\\localfile.txt";
// OSS文件路径。
String fileKey = "path/to/remote/file.txt";
try {
// 上传文件到OSS。
ossClient.putObject(bucketName, fileKey, new File(localFile));
System.out.println(fileKey + " 文件上传成功");
} catch (ExecutionException | InterruptedException e) {
System.out.println("文件上传失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
上述代码中,使用了try-catch
结构来捕获并处理ExecutionException
和InterruptedException
,确保上传过程中的异常能够得到妥善处理。
在文件上传成功后,可以使用OSS客户端进行文件的管理和操作。本节将介绍如何查看已上传文件列表,修改文件名,以及删除文件。
4.1 查看已上传文件列表
在上传文件后,可以通过OSS客户端获取已上传文件的列表。阿里云OSS提供了列出Bucket中所有文件的方法,可以方便地查看已上传的文件。
查看已上传文件列表的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.OSSObjectSummary;
import java.util.List;
public class ListFilesExample {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 获取Bucket名称下所有文件的列表。
List<OSSObjectSummary> objectSummaries = ossClient.listObjects(bucketName).getObjectSummaries();
for (OSSObjectSummary objectSummary : objectSummaries) {
System.out.println("文件名:" + objectSummary.getKey());
}
// 关闭OSSClient。
ossClient.shutdown();
}
}
4.2 修改文件名
在OSS中,可以通过覆盖文件的方式实现文件名的修改。将新文件上传到目标路径,然后删除原文件,即可实现文件名的修改。
修改文件名的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import java.io.File;
public class RenameFileExample {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 旧文件名。
String oldFileKey = "path/to/old/file.txt";
// 新文件名。
String newFileKey = "path/to/new/file.txt";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 本地文件路径。
String localFile = "C:\\local\\path\\localfile.txt";
try {
// 上传新文件。
ossClient.putObject(bucketName, newFileKey, new File(localFile));
// 删除旧文件。
ossClient.deleteObject(bucketName, oldFileKey);
System.out.println("文件重命名成功,新文件名:" + newFileKey);
} catch (Exception e) {
System.out.println("文件重命名失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
4.3 删除文件
在OSS中,可以通过调用deleteObject
方法来删除文件。删除文件时需要注意,删除操作是不可逆的,一旦删除,文件将无法恢复。
删除文件的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
public class DeleteFileExample {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 要删除的文件路径。
String fileKey = "path/to/delete/file.txt";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 删除文件。
ossClient.deleteObject(bucketName, fileKey);
System.out.println(fileKey + " 文件删除成功");
} catch (Exception e) {
System.out.println("文件删除失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
文件访问权限设置
在实际应用中,文件的访问权限设置是非常重要的。本节将介绍如何设置文件的公共读访问权限、私有读写访问权限,以及如何使用签名URL访问文件。
5.1 设置文件的公共读访问权限
设置文件为公共读访问权限后,任何人都可以通过公开URL访问文件。这对于需要公开分享的文件非常有用。
设置文件为公共读访问权限的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.SetObjectAclRequest;
public class SetPublicReadExample {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 文件路径。
String fileKey = "path/to/file.txt";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 设置文件为公共读访问权限。
ossClient.setObjectAcl(bucketName, fileKey, new SetObjectAclRequest(bucketName, fileKey).withAcl(com.aliyun.oss.OSS.CannedAccessControlList.PublicRead));
System.out.println(fileKey + " 文件设置为公共读权限成功");
} catch (Exception e) {
System.out.println("文件设置为公共读权限失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
5.2 设置文件的私有读写访问权限
设置文件为私有读写访问权限后,只有拥有特定权限的用户才能访问文件。这对于需要保护隐私或敏感数据的文件非常有用。
设置文件为私有读写访问权限的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.SetObjectAclRequest;
public class SetPrivateReadWriteExample {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 文件路径。
String fileKey = "path/to/file.txt";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 设置文件为私有读写访问权限。
ossClient.setObjectAcl(bucketName, fileKey, new SetObjectAclRequest(bucketName, fileKey).withAcl(com.aliyun.oss.OSS.CannedAccessControlList.Private));
System.out.println(fileKey + " 文件设置为私有读写权限成功");
} catch (Exception e) {
System.out.println("文件设置为私有读写权限失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
5.3 使用签名URL访问文件
签名URL是一种临时访问文件的方式,可以通过生成的URL在指定时间内访问文件。这对于需要控制访问时间的场景非常有用。
生成签名URL的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.GeneratePresignedUrlRequest;
import java.util.Date;
public class GeneratePresignedUrlExample {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 文件路径。
String fileKey = "path/to/file.txt";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 生成签名URL。
Date expiration = new Date(System.currentTimeMillis() + 3600 * 1000); // URL有效期一小时。
GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, fileKey);
request.setExpiration(expiration);
java.net.URL url = ossClient.generatePresignedUrl(request);
System.out.println("签名URL:" + url.toString());
} catch (Exception e) {
System.out.println("生成签名URL失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
上述代码中,通过GeneratePresignedUrlRequest
生成了一个有效期为一小时的签名URL,可以通过该URL在指定时间内访问文件。
在实际项目中,阿里云OSS服务可以广泛应用于各种场景,如上传用户头像、上传文章图片、批量上传文件等。本节将通过实际示例演示如何在项目中应用阿里云OSS服务。
6.1 上传用户头像
在用户注册或登录时,可以将用户上传的头像保存到阿里云OSS。
上传用户头像的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import java.io.File;
public class UploadUserProfilePicture {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 用户ID,用于生成文件名。
String userId = "user123";
// 本地头像路径。
String localAvatarPath = "C:\\local\\path\\avatar.jpg";
// OSS头像路径。
String avatarKey = "path/to/avatar/" + userId + ".jpg";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 上传头像。
ossClient.putObject(bucketName, avatarKey, new File(localAvatarPath));
System.out.println(userId + " 用户头像上传成功");
} catch (Exception e) {
System.out.println("头像上传失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
6.2 上传文章图片
在发布文章时,可以将文章中的图片保存到阿里云OSS。
上传文章图片的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import java.io.File;
public class UploadArticleImage {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 文章ID,用于生成文件名。
String articleId = "article456";
// 本地图片路径。
String localImagePath = "C:\\local\\path\\image.jpg";
// OSS图片路径。
String imageKey = "path/to/images/" + articleId + ".jpg";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 上传图片。
ossClient.putObject(bucketName, imageKey, new File(localImagePath));
System.out.println(articleId + " 文章图片上传成功");
} catch (Exception e) {
System.out.println("图片上传失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
6.3 批量上传文件
在实际项目中,可能需要批量上传多个文件。可以通过循环遍历文件列表并上传文件来实现批量上传。
批量上传文件的示例代码如下:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import java.io.File;
import java.util.Arrays;
import java.util.List;
public class BatchUploadFiles {
public static void main(String[] args) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM子账号,避免不必要的伤害。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// Bucket名称,全局唯一。
String bucketName = "<yourBucketName>";
// 本地文件路径列表。
List<String> localFiles = Arrays.asList(
"C:\\local\\path\\file1.txt",
"C:\\local\\path\\file2.txt",
"C:\\local\\path\\file3.txt"
);
// OSS文件路径列表。
List<String> ossKeys = Arrays.asList(
"path/to/file1.txt",
"path/to/file2.txt",
"path/to/file3.txt"
);
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
for (int i = 0; i < localFiles.size(); i++) {
String localFile = localFiles.get(i);
String fileKey = ossKeys.get(i);
// 上传文件。
ossClient.putObject(bucketName, fileKey, new File(localFile));
System.out.println(fileKey + " 文件上传成功");
}
} catch (Exception e) {
System.out.println("文件上传失败");
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章