hjr-JAVA 文件服务minio部署和使用

通常我们可以把上传的文件另存为到一个专门的目录,但是缺点是不好管理。

我们可以用fastdfs 但是缺点是部署太麻烦

因此我们使用 minio

部署

1安装
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod 755 minio
mv minio /usr/local/bin
mkdir minio_data #文件都存到这里

export MINIO_ROOT_USER=用户名
export MINIO_ROOT_PASSWORD=密码



2关闭防火墙(可能用不到)
systemctl stop firewalld
或者开启打算访问控制台的端口
firewall-cmd --zone=public --add-port=打算访问控制台的端口/tcp --permanent
systemctl restart firewalld

3启动测试
minio server minio_data的路径 --address=:控制台端口 --console-address=:管理系统端口

4后台启动
nohup  minio minio server minio_data的路径 --address=:控制台端口 --console-address=:管理系统端口 &	

5浏览器访问
http:/IP:管理系统端口

6终止
ps -C minio -o pid=
kill -9 查到的进程号

JAVA操作


public class FileUtil {
 public static MinioClient getMinioClient() {
        MinioClient minioClient = null;
        try {
            minioClient = new MinioClient("http://xxxx:xxx/", "用户名", "密码");
        } catch (InvalidEndpointException e) {
            e.printStackTrace();
        } catch (InvalidPortException e) {
            e.printStackTrace();
        }
        return minioClient;
    }
    public void demo() {
        // 参数为:图床,账号,密码
        MinioClient minioClient = null;
        try {
            minioClient = new MinioClient("http://xxxx:xxx/", "用户名", "密码");
            // 检查文件夹是否已经存在
            boolean isExist = minioClient.bucketExists("test");
            if (isExist) {
                System.out.println("文件夹已经存在了");
            } else {
                // 创建一个名为test的文件夹
                System.out.println("文件夹还没存在");
                minioClient.makeBucket("test");
            }

            // 使用putObject上传一个文件到文件夹中。
            // 参数为:文件夹,要存成的名字,要存的文件
            minioClient.putObject("test", "testFile.png", "C:/Users/Administrator/Desktop/testFile.png");
            System.out.println("成功了");

            // 使用getObject获取一个文件
            // 调用statObject()来判断对象是否存在。
            minioClient.statObject("test", "testFile.png");
            // 获取1.png的流并保存到photo.png文件中。
            // 参数为:文件夹,要获得的文件,要写入的文件
            minioClient.getObject("test", "testFile.png", "C:/Users/Administrator/Desktop/testFile.png");
        } catch (InvalidEndpointException e) {
            e.printStackTrace();
        } catch (InvalidPortException e) {
            e.printStackTrace();
        } catch (RegionConflictException e) {
            e.printStackTrace();
        } catch (InvalidArgumentException e) {
            e.printStackTrace();
        } catch (InvalidBucketNameException e) {
            e.printStackTrace();
        } catch (InsufficientDataException e) {
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        } catch (ErrorResponseException e) {
            e.printStackTrace();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (NoResponseException e) {
            e.printStackTrace();
        } catch (InvalidKeyException e) {
            e.printStackTrace();
        } catch (InternalException e) {
            e.printStackTrace();
        }
     }
    }
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值