docker run -p 9000:9000 -p 9001:9001 -v /mydata/minio/data:/data minio/minio rver /data --console-address ":9001
最好是这个版本,其他版本尝试过都出bug了
<dependency> <groupid>io.minio</groupid> 贷的意思 <artifactid>minio</artifactid> <version>8.2.1</version> </dependency>
spring: # 上传文件大小设置 rvlet: m日常周记ultipart: enabled: true max-file-size: 50mbminio: endpoint: xxx:9000 accesskey: xxx cretkey: xxx bucketname: xxx
1、编写一个属性文件
@data@component@configurationproperties(prefix = "minio") // 从配置文件的前缀拿public class minioproperties { private string endpoint; private string accesskey; private string cretkey;}
2、编写一个minioclient
@configurationpublic class minioconfig { @resource private minioproperties minioproperties; @bean public minioclient过年文案 minioclient() { system.out.println(环保手抄报模板minioproperties.getaccesskey()); system.out.println(minioproperties.getcretkey()); minioclient minioclient = minioclient.builder() .endpoint(minioproperties.getendpoint()) .credentials(minioproperties.getaccesskey(), minioproperties.getcretkey()) .build(); return minioclient; }}
3、上传文件api
public class miniorviceimpl implements miniorvice { @value("${minio.bucketname}") private string bucketname; @value("${minio.endpoint}") private string endpoint; @resource private minioclient minioclient; @override public list<string> uploadfile(multipartfile[] file) throws rverexception, insufficientdataexception, errorresponexception, nosuchalgorithmexception, invalidkeyexception, invalidresponexception, xmlparrexception, internalexception { if (file == null || file.length == 0) { throw new apiexception(resultcode.param_is_blank); } list<string> fileurllist = new arraylist<>(file.length); string url = ""; for (multipartfile multipartfile : file) { // 1.获取文件名 string originalfilename = multipartfile.getoriginalfilename(); // 2.截取后缀名 string imgsuffix = originalfilename.substring(originalfilename.lastindexof(".")); // 3.生成唯一名 string newfilename = uuid.randomuuid().tostring() + imgsuffix; // 4.日期目录 simpledateformat dateformat = new simpledateformat("yyyy/mm/dd"); string datapath = dateformat.format(new date()); // 5.合成路径 string finalfilename = datapath + "/" + newfilename; // 别忘了bucketname url = endpoint + "/" + bucketname + "/" + finalfilename; try { // 文件上传 inputstream in = multipar课外阅读读后感tfile.getinputstream(); minioclient.putobject(putobjectargs.builder().bucket(bucketname).object(finalfilename).stream( in, multipartfile.getsize(), -1) .contenttype(multipartfile.getcontenttype()) .build()); in.clo(); fileurllist.add(url); } catch (ioexception e) { throw new apiexception(resultcode.common_fail); } } return fileurllist; }}
通过上面这串url就可以直接访问图片了
到此这篇关于springboot中如何使用minio存储容器的文章就介绍到这了,更多相关springbootminio存储容器内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 21:34:20,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/25e7372aa124cc321859ccbbc679f7a1.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:springboot中如何使用minio存储容器.doc
本文 PDF 下载地址:springboot中如何使用minio存储容器.pdf
留言与评论(共有 0 条评论) |