阿里云oss Java
时间: 2025-01-13 19:48:33 浏览: 32
### 阿里云 OSS Java 使用教程
#### 创建 Maven 项目并引入依赖
为了使用阿里云 OSS,在 `pom.xml` 文件中添加如下依赖:
```xml
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
```
此版本号可能随时间变化而不同,建议查阅最新官方文档获取最新的依赖信息[^1]。
#### 初始化 OSSClient 实例
创建一个工具类来初始化和管理 OSS 客户端实例。这一步骤对于后续的操作至关重要。
```java
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
public class AliOssUtil {
private final String endpoint;
private final String accessKeyId;
private final String accessKeySecret;
private final String bucketName;
public AliOssUtil(String endpoint, String accessKeyId, String accessKeySecret, String bucketName){
this.endpoint = endpoint;
this.accessKeyId = accessKeyId;
this.accessKeySecret = accessKeySecret;
this.bucketName = bucketName;
}
}
```
上述代码定义了一个名为 `AliOssUtil` 的实用程序类,用于封装与 OSS 交互所需的信息。
#### 上传文件到 OSS
通过 IO 流的方式读取本地文件,并将其作为字节流形式上传至指定 Bucket 中。
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class AliOssUtil {
// ... 构造函数和其他成员变量 ...
/**
* 将文件上传到OSS服务器
*
* @param localFilePath 本地文件路径
* @param objectName 对象名称(即远程保存后的文件名)
*/
public String uploadFileToOSS(String localFilePath, String objectName) throws IOException {
try (FileInputStream inputStream = new FileInputStream(new File(localFilePath))) {
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 设置ObjectMeta元数据(可选)
// ObjectMetadata metadata = new ObjectMetadata();
// metadata.setContentType("image/jpeg");
// ...
// 执行上传操作
ossClient.putObject(bucketName, objectName, inputStream);
// 获取访问链接
String url = ossClient.generatePresignedUrl(bucketName, objectName, Date.from(LocalDateTime.now()
.plusDays(7).atZone(ZoneId.systemDefault()).toInstant())).toString();
// 关闭客户端连接
ossClient.shutdown();
return url;
}
}
}
```
这段代码展示了如何利用输入流将图片或其他类型的文件上传到 OSS 上,并返回该资源的有效 URL 地址。
#### 下载文件从 OSS
同样可以通过调用相应的方法下载存储于云端的对象回到本地磁盘位置。
```java
/**
* 从OSS下载文件到本地
*
* @param objectName 要下载的对象名称
* @param downloadPath 文件要被保存的目标路径
*/
public void downloadFromOSS(String objectName, String downloadPath) throws Exception{
OSS ossClient = null;
try {
ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 开始下载过程...
ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File(downloadPath));
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
```
以上就是基于 Java SDK 操作阿里云 OSS 存储服务的一些基础功能实现方式。
阅读全文
相关推荐



















