minio java 获取文件连接
时间: 2023-11-10 17:14:23 浏览: 34
您好,如果您想要获取一个已经上传到Minio的对象的下载链接,可以使用Minio提供的`presignedGetObject`方法来获取一个临时的可下载URL,示例代码如下:
```java
// 初始化一个Minio客户端对象
MinioClient minioClient = new MinioClient("http://minio.example.com", "accessKey", "secretKey");
// 获取一个临时的可下载URL
String url = minioClient.presignedGetObject("my-bucket", "my-object", 60 * 60 * 24 * 7); // 七天有效期
System.out.println("临时的可下载URL: " + url);
```
以上示例代码中,`presignedGetObject`方法的三个参数分别为:存储桶名称、对象名称和URL的有效期(单位为秒)。获取到的URL可以直接在浏览器中访问或者在程序中使用HTTP客户端进行下载。如果要获取一个永久的可下载URL,可以将有效期设置为更长的时间,例如一年或更长时间。
相关问题
minio java 获取上传文件连接
在Java中使用Minio进行对象存储时,上传一个对象后会返回一个临时URL,该URL在一定时间后会失效。如果需要获取永久的URL,可以使用Minio提供的`presignedPutObject`和`presignedGetObject`方法。
- `presignedGetObject`: 获取一个永久的可下载URL,该URL可以用于下载指定的对象。示例代码如下:
```java
// 初始化一个Minio客户端对象
MinioClient minioClient = new MinioClient("http://minio.example.com", "accessKey", "secretKey");
// 获取一个永久的可下载URL
String url = minioClient.presignedGetObject("my-bucket", "my-object", 60 * 60 * 24 * 7);
System.out.println("永久的可下载URL: " + url);
```
- `presignedPutObject`: 获取一个永久的可上传URL,该URL可以用于上传一个对象。示例代码如下:
```java
// 初始化一个Minio客户端对象
MinioClient minioClient = new MinioClient("http://minio.example.com", "accessKey", "secretKey");
// 获取一个永久的可上传URL
String url = minioClient.presignedPutObject("my-bucket", "my-object", 60 * 60 * 24 * 7);
System.out.println("永久的可上传URL: " + url);
```
以上示例代码中,`60 * 60 * 24 * 7`表示获取的URL有效期为一周,可以根据实际需求进行调整。获取到的永久URL可以保存在数据库或其他地方,用于后续的操作。
java minio获取文件下载链接
要获取Minio对象存储桶中文件的下载链接,可以使用Minio的Presigned GET API。这个API会生成一个带有过期时间的URL,可以用来下载文件。
下面是一个示例Java代码片段,用于生成一个5分钟有效期的Minio对象存储桶中文件的下载链接:
```java
import java.time.Duration;
import io.minio.MinioClient;
import io.minio.errors.MinioException;
public class MinioExample {
public static void main(String[] args) {
try {
// 连接Minio服务
MinioClient client = new MinioClient.Builder()
.endpoint("play.minio.io")
.credentials("ACCESS_KEY", "SECRET_KEY")
.build();
// 生成Presigned GET链接
String bucketName = "my-bucket";
String objectName = "path/to/my/file.txt";
Duration expiry = Duration.ofMinutes(5);
String url = client.getPresignedObjectUrl(bucketName, objectName, expiry);
System.out.println(url);
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
}
}
}
```
这个代码片段中,我们首先使用Minio Java客户端连接到Minio对象存储服务。然后,我们使用`getPresignedObjectUrl()`方法为指定的文件生成Presigned GET链接,并指定了链接的有效期为5分钟。最后,我们打印出了生成的链接。
需要注意的是,生成的链接是一个临时链接,只有在有效期内才能使用。如果链接已经过期,或者链接对应的文件已经被删除,那么尝试下载该文件时会返回错误。