分布式存储系统-03-java 访问 minio 实战笔记
2016年12月31日大约 1 分钟
maven 引入
maven
io.minio
minio
8.5.10
测试类
package org.example;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import java.io.FileInputStream;
public class Main {
public static void main(String[] args) {
final String fileP = "D:\\github\\minio-java-demo\\src\\main\\resources\\1.html";
try (FileInputStream fileInputStream = new FileInputStream(fileP)){
//1.创建minio链接客户端
MinioClient minioClient = MinioClient.builder().credentials("minioadmin", "minioadmin")
.endpoint("http://localhost:9000")
.build();
//2.上传
PutObjectArgs putObjectArgs = PutObjectArgs.builder()
.object("1.html")//文件名
.contentType("text/html")//文件类型
.bucket("test")//桶名词 与minio创建的名词一致
.stream(fileInputStream, fileInputStream.available(), -1) //文件流
.build();
minioClient.putObject(putObjectArgs);
System.out.println("http://localhost:9000/test/1.html");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
访问
直接访问
我们直接访问上述地址:
报错如下:
AccessDenied
Access Denied.
1.html
test
/1.html
181196CAD15274C8
dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
设置权限
需要设置 bucket 对应的访问权限

假如说你通过访问 localhost:9000/test/image/aaa.jpg
, 报错,那么把image文件夹设置prefix,Access是设置只读,只写,和读写,一般设置只读
我这里因为是 http://localhost:9000/test/1.html
,直接设置前缀为 /
,对应的权限为读写。
然后就可以直接正常访问了。
参考资料
贡献者
binbin.hou