java使用minio上传文件
创建buckets
创建service accounts
java上传文件
maven依赖:
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.0.2</version>
</dependency>
java代码:
package org.example.controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.NoSuchAlgorithmException;
import java.security.InvalidKeyException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import io.minio.PutObjectOptions;
import org.xmlpull.v1.XmlPullParserException;
import io.minio.MinioClient;
import io.minio.errors.MinioException;
public class FileUploader {
public static void main(String[] args) throws NoSuchAlgorithmException, IOException, InvalidKeyException, XmlPullParserException {
uploadFile();
}
private static void uploadFile() throws InvalidKeyException, IOException, NoSuchAlgorithmException {
try {
//你的endpoint,本机可以不变
String endpoint = "http://ip:9000";
//你的accessKey
String accessKey = "Ftl430el5M7IMKyp";
//你的sercetKey
String secretKey = "ek1IHUaH1o3EeIlcO5NwN9RLAlomvCCn";
//你的bucket
String bucketName = "test";
// 使用MinIO服务的URL,端口,Access key和Secret key创建一个MinioClient对象
MinioClient minioClient = new MinioClient(endpoint, accessKey, secretKey);
// 检查存储桶是否已经存在
boolean isExist = minioClient.bucketExists(bucketName);
if (isExist) {
System.out.println("Bucket already exists.");
} else {
// 创建一个名为asiatrip的存储桶,用于存储照片的zip文件。
minioClient.makeBucket(bucketName);
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/");
String date = sdf.format(new Date());
//找一个你电脑上图片的绝对路径,最好是PNG图片
File file = new File("D:\\data\\hei.png");
long size = file.length();
String fileName = file.getName();
InputStream is = new FileInputStream(file);
//将待上传的文件的路径设置成 年/月/日/uuid+file01.png
//你也可以自定义上传文件的路径,这样设置是为了更好的管理
String uuid = UUID.randomUUID().toString().replace("-", "").substring(0, 6);
String fileUploadPath = date + uuid + "file01" + fileName.substring(fileName.lastIndexOf("."));
PutObjectOptions options = new PutObjectOptions(size, -1);
//设置图片的contentType,如果不是PNG图片就自行修改对应的contentType,这样做的目的是为了上传之后访问图片时可以在浏览器预览而不用下载,当然也可以注释这行代码
options.setContentType("image/png");
minioClient.putObject(bucketName, fileUploadPath, is, options);
System.out.println(file.getAbsolutePath() + "is successfully uploaded as 【" + fileUploadPath + "】 to 【" + bucketName + "】bucket.");
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
}
}
}
预览文件:
修改Buckets权限
猜你喜欢
blog
java使用FTP上传文件
工具
2002
pom依赖dependencygroupIdcommons-net/groupIdartifactIdcommons-net/artifactIdversion3.6/version/dependencyFTP服务类packageclub.jiajiajia.bulider.service;importjava.io.IOException;importjava.io.InputStream;im
blog
java HttpClients上传文件
工具
1373
服务端(接受文件) /** *上传文件接口 *@paramtype *@return */ @RequestMapping(value="/upFile",method
blog
使用rclone管理minio文件
minio
564
rclone下载地址:https://rclone.org/downloads/
解压文件包:
unziprclone-v1.59.0-linux-amd64.zip
cdcdrclone
blog
java ajax动态上传多个文件
前端(h5)
1886
后端这么写packagecn.com.dzqc.controller;importjavax.servlet.http.HttpServletRequest;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.sp
blog
springboot上传文件与回显
框架
1660
springboot上传文件与回显资源映射路径配置:packagecom.dzqc.yx.controller
blog
linux系统安装minio
minio,linux
407
/
使用wget下载minio的安装包wgethttps://dl.minio.io/server/minio/release/linux-amd64/minio
下载完成后赋予minio文件的执行权
weblog
1856
java使用easypoi导出并下载excel文件简单导出测试如图:一、pom文件dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi
框架
6349
一次实现上传文件的进度条原理:在上传文件之前,请求以下服务器,获取一个socketId(作用:用来标识本次连接,服务器端也是通过这个id找到对应的连接,然后给这个连接发送消息(进度)),此时socket
归档
2018年11月
12
2018年12月
33
2019年01月
28
2019年02月
28
2019年03月
32
2019年04月
27
2019年05月
33
2019年06月
6
2019年07月
12
2019年08月
12
2019年09月
21
2019年10月
8
2019年11月
15
2019年12月
25
2020年01月
9
2020年02月
5
2020年03月
16
2020年04月
4
2020年06月
1
2020年07月
7
2020年08月
13
2020年09月
9
2020年10月
5
2020年12月
3
2021年01月
1
2021年02月
5
2021年03月
7
2021年04月
4
2021年05月
4
2021年06月
1
2021年07月
7
2021年08月
2
2021年09月
8
2021年10月
9
2021年11月
16
2021年12月
14
2022年01月
7
2022年05月
1
2022年08月
3
2022年09月
2
2022年10月
2
2022年12月
5
2023年01月
3
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。