1. Linux運(yùn)行minio
linux安裝包下載點(diǎn)
https://dl.minio.io/server/minio/release/linux-amd64/minio
如果linux系統(tǒng)能聯(lián)網(wǎng)腌逢,可直接通過wget命令下載
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
進(jìn)入minio文件所在位置删顶,然后執(zhí)行命令:
chmod +x minio
./minio server /mnt/data
minio服務(wù)啟動成功鱼蝉。
后臺運(yùn)行
nohup /usr/local/bin/minio server /home/minio/data > /home/minio/data/minio.log 2>&1 &
自定義MINIO_ACCESS_KEY和MINIO_SECRET_KEY
export MINIO_ACCESS_KEY=root
export MINIO_SECRET_KEY=root_1234
2. windows運(yùn)行minio
首先下載安裝包煌贴,windows下載點(diǎn)
https://dl.minio.io/server/minio/release/windows-amd64/minio.exe
下載結(jié)束后,cmd命令行進(jìn)入minio.exe所在文件夾说榆,然后執(zhí)行
minio.exe server F:\Data
minio服務(wù)啟動成功虚吟,其中F:\Data可設(shè)置成讀者本地磁盤任何位置寸认。
3. minio使用
minio服務(wù)啟動后,默認(rèn)端口是9000串慰,在命令界面會顯示如下信息:
access-key: WHF2WW7QP2DWNQV7MQ63
secret-key: pM3u0Yp+avPuPqPnwu7v+4k4EmlJqQp3dDuNThtg
這些信息需要記住废麻,在登錄和項(xiàng)目配置時需要。
如此minio啟動成功,然后訪問http://127.0.0.1:9000模庐,在登錄頁輸入access-key和secret-key,可直接用瀏覽器操作minio服務(wù)器中的文件庫與文件。
4. 依賴jar包引用
確認(rèn)項(xiàng)目已經(jīng)引入jar包io.minio
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>6.0.4</version>
</dependency>
配置文件中已經(jīng)配置minio服務(wù)信息油宜,如下:
minio:
url: http://127.0.0.1:9000
access-key: WHF2WW7QP2DWNQV7MQ63
secret-key: pM3u0Yp+avPuPqPnwu7v+4k4EmlJqQp3dDuNThtg
4.1 創(chuàng)建文件庫(bucket)
a)可用瀏覽器登錄http://127.0.0.1:9000掂碱,直接創(chuàng)建bucket
b)調(diào)用api(參考如下代碼)
import io.minio.MinioClient
@Autowired
private MinioClient client;
public void createBucket(String bucketName) {
if (!client.bucketExists(bucketName)) {
client.makeBucket(bucketName);
}
}
4.2 文件上傳、預(yù)覽慎冤、下載疼燥、刪除,參考如下代碼
public void putObject(String bucketName, String objectName, InputStream stream, long size, String contextType) throws Exception {
if (StringUtils.isBlank(bucketName)) {
throw new RuntimeException("保存的bucketName為空");
}
createBucket(bucketName);
client.putObject(bucketName, objectName, stream, size, contextType);
}
public InputStream getObject(String bucketName, String objectName) {
return client.getObject(bucketName, objectName);
}
public String getObjectURL(String bucketName, String objectName, Integer expires) {
return client.presignedGetObject(bucketName, objectName, expires);
}
public void removeObject(String bucketName, String objectName) throws Exception {
client.removeObject(bucketName, objectName);
}
其他操作參考io.minio的api:
http://docs.minio.org.cn/docs/master/java-client-quickstart-guide