当前位置: 首页 > news >正文

厦门网站seo优化用开源源码做淘宝客网站

厦门网站seo优化,用开源源码做淘宝客网站,讨债女企业家中标公司被强执,网站开发赚钱minio是一款分布式存储系统&#xff0c;上一篇详细介绍了minio在windows环境下的搭建集群并通过nginx实现负载均衡&#xff0c;这里简单介绍下springboot项目整合minio并实现文件的上传下载删除等操作。 一、依赖的引入 1.1、maven项目 <dependency><groupId>io…
minio是一款分布式存储系统,上一篇详细介绍了minio在windows环境下的搭建集群并通过nginx实现负载均衡,这里简单介绍下springboot项目整合minio并实现文件的上传下载删除等操作。

一、依赖的引入

1.1、maven项目

<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.3.0</version>
</dependency>

1.2、普通项目

普通项目采用手动引入jar包方式会挺麻烦的,推荐使用maven来引入依赖
普通项目使用minio需要引入jar包大致包括minio-8.3.0.jar ; okio-2.5.0.jar ; okhttp-4.8.1.jar ; guava-22.0.jar

二、minio配置类

@Configuration
@Slf4j
public class MinioConfig {@Value("${minio.endpoint}")private String endpoint;@Value("${minio.accessKey}")private String accessKey;@Value("${minio.secretKey}")private String secretKey;@Value("${minio.bucketName}")private String bucketName;@Beanpublic MinioClient minioClient(){MinioClient minioClient = MinioClient.builder().endpoint(endpoint).credentials(accessKey, secretKey).build();try {boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());if(!found){minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());log.info("minio初始化桶:"+bucketName);}} catch (Exception e) {log.error(e.getMessage());}return minioClient;}
}

其中四个变量为application.yml中的配置,MinioConfig.java配置文件创建了minio分布式存储系统的操作客户端minioClient并交给springboot进行管理,且创建了名为java-bucket的桶。

# 分布式存储minio相关配置
minio:# 分布式存储的服务地址,要做集群的话则是通过nginx配置负载均衡,该地址指向nginx入口endpoint: http://127.0.0.1:9001# 分布式存储系统对应的用户名和密码accessKey: minioadminsecretKey: minioadmin# 所有文件均存储在该名称对应的桶中bucketName: java-bucket

三、通过minioClient操作文件

@Component
public class minioUtil{private static MinioClient minioClient;private static String bucketName;// 由于静态方法中只能用静态变量,而静态变量无法直接实现注入,为此通过非静态的set方法注入值@Value("${minio.bucketName}")public void setBucketName(String bucketName) {fileUtils.bucketName = bucketName;}@Autowiredpublic void setMinioClient(MinioClient minioClient) {fileUtils.minioClient = minioClient;}// 将本地文件夹整个上传至minio存储系统,其中dirName表示上传的文件夹路径如 C:/admin/testDir ,len表示对源路径的截取长度,使其上传至minio存储系统保持相对路径,比如C:/admin/testDir/test.txt 截取成 admin/testDir/test.txtpublic static void minio_uploadFile(String dirName,int len){List<String> filePathList = new ArrayList<>();File file = new File(dirName);minio_recursionGetFileList(file,filePathList);for (String s : filePathList) {minio_uploadSingleFile(s.substring(len,s.length()),s);}}// 递归获取parentFile文件夹下的所有文件目录private static void minio_recursionGetFileList(File parentFile, List<String> filePathList) {File[] files = parentFile.listFiles();for (File file : files) {if(file.isFile()){filePathList.add(file.getPath());}else {minio_recursionGetFileList(file,filePathList);}}}// 本地单个文件的上传public static void minio_uploadSingleFile(String objectName,String fileName){objectName = objectName.replace("\\","/");// 上传文件try {minioClient.uploadObject(UploadObjectArgs.builder().bucket(bucketName).object(objectName)  // 上传到分布式系统的文件名称.filename(fileName) // 本地文件路径.build());} catch (Exception e) {throw new RuntimeException(e);}}//  删除minio存储系统bucketName桶中文件//  objectName为要删除的文件名,如要删除b文件夹下的test.txt,则objectName应为"b/test.txt"private static void minio_deleteFile(String objectName){try {minioClient.removeObject(RemoveObjectArgs.builder().bucket(bucketName).object(objectName).build());} catch (Exception e) {log.error("删除minio中文件出现错误:"+e.getMessage());}}// minio存储系统中下载objectName的文件到fileName,如下载objectName = "b/test.txt" , fileName = "C:/test1.txt"private static void minio_downloadFile(String objectName,String fileName){try {minioClient.downloadObject(DownloadObjectArgs.builder().bucket(bucketName).object(objectName).filename(fileName).build());} catch (Exception e) {log.info("下载minio文件出现错误:"+e.getMessage());}}// 获取minio的bucketName桶的所有文件列表private static void minio_getFileList(){// 获取文件列表Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder().bucket(bucketName).build());Iterator<Result<Item>> iterator = results.iterator();List<Object> items = new ArrayList<>();String format = "{'fileName':'%s','fileSize':'%s'}";try {while (iterator.hasNext()){Item item = iterator.next().get();System.out.println(item.objectName());System.out.println(item.size());}} catch (Exception e) {log.error("获取minio中文件列表出错:"+e.getMessage());}}/*** @description 多文件上传至minio系统*/public static void uploadToMinio(List<MultipartFile> multipartFiles,String dir) {for (int i = 0; i < multipartFiles.size(); i++) {minio_uploadFile(multipartFiles.get(i),multipartFiles.get(i).getName(),dir);}}private static void minio_uploadFile(MultipartFile file,String objectName,String dir){try {InputStream inputStream = file.getInputStream();minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(dir+"/"+objectName).contentType(file.getContentType()).stream(inputStream, inputStream.available(), -1).build());} catch (Exception e) {log.error("文件上传至minio出错:"+e.getMessage());}}// 将minio存储系统中整个dir目录全部删除public static void deleteDirFromMinio(String dir){try {Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder().bucket(bucketName).delimiter(dir).prefix(dir+"/").build());for (Result<Item> itemResult : results) {Item item = itemResult.get();minioClient.removeObject(RemoveObjectArgs.builder().bucket(bucketName).object(item.objectName()).build());}} catch (Exception e) {log.error("删除minio中文件出现错误:"+e.getMessage());}}}
http://www.yayakq.cn/news/498974/

相关文章:

  • 在电脑上怎么卸载wordpress英德网站seo
  • 成都创新互联做网站保定市城市规划建设局网站
  • iis6 网站无法访问短链接生成器
  • 学校网站建设的不足试用期工作总结
  • dede增加手机网站华夏名网网站建设
  • 营销型的网站要多少钱石家庄网站快速排名
  • html网站设计河南省城乡建设信息网
  • 东莞公司网站建设小知识海报在线制作网站
  • 印度网站建设中国十大it培训机构排名
  • 国家单位网站建设要多久重庆百度推广seo
  • 有做教育行业的招聘网站吗宿迁网站定制
  • 刷赞网站推广空间免费网站建设项目售后服务承诺
  • 北京网站建设兴田德润电话多少哪个网站有帮忙做公开课课件
  • 政务公开 网站建设2024房价即将暴涨十大城市
  • 新闻视频网站开发企业网站为什么要备案
  • 网站的空间是服务器吗专业微信网站建设报价
  • 网页制作与网站建设课程设计做个网站需要多久
  • 成都便宜网站建设小程序是什么技术
  • 高中毕业学网站开发杨和网站建设
  • 长春世邦做网站承德信息港
  • 网站开发规模和工作量的计算wordpress 佛系汉化组
  • 广州营销型网站建设东营信息港
  • 网站点击率高滁州58同城网站怎么做
  • php建站程序济南网站建设求职
  • 贵阳手机网站建设ui设计个人作品集
  • 网站开发工程师是什么意思如何编写网站建设
  • 网站建设费科目属于无形资产么传奇电脑版哪个好玩
  • 涵江建设局网站天天炫拍免费做相册管方网站下载
  • 免费网站建设模板开发网站的技术路线
  • 阳江营销网站开发磁力搜索器下载