MinIO spring boot starter 1.0.0 发布

标签:

本文出自jvm123.com-java技术分享站:http://jvm123.com/2020/01/minio-spring-boot.html

MinIO spring boot starter 是为 minio 在springboot项目中使用而编写的springboot starter,具有一般项目中使用到的文件存储获取功能,计划在后续版本将添加操作minIO的更多功能。

功能简介

  1. 使用minIO单bucket存储获取对象(文件)
  2. 也可以获取对象输入流、直接写入输出流

使用方法:

依赖

<dependency>
    <groupId>com.jvm123</groupId>
    <artifactId>minio-spring-boot-starter</artifactId>
    <version>1.0.0</version>
</dependency>

配置

file:
store:
minio:
endpoint: http://petdy.cn:9000
bucket: test-bucket
access-key: admin
secret-key: admin
tmp-dir: ./tmp/

Api调用

package com.jvm123.demo;

import com.jvm123.minio.service.FileStoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;

/**
 * @author yawn http://jvm123.com
 * 2020/1/15 17:17
 */
@RestController
public class TestController {

    @Autowired
    FileStoreService fileStoreService;

    @GetMapping("get")
    public void get(HttpServletResponse response) throws IOException {
        // 存储文件
        fileStoreService.save(new File("C:\asd.txt"), "a.txt");
        
        // 获取文件
        File file = fileStoreService.getFile("a.txt");

        // 获取输入流
        InputStream inputStream = fileStoreService.getStream("a.txt");

        // 下载
        response.addHeader("Content-Disposition","attachment;filename=a.txt");
        ServletOutputStream os = response.getOutputStream();
        fileStoreService.download("a.txt", os);
    }
}

Change list

v1.0.0 常用功能的实现

  1. 实现使用minIO单bucket存储获取对象(文件)的功能
  2. 实现获取对象输入流、写入输出流等功能

发表评论