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

网站的页面设计上海网站的优化

网站的页面设计,上海网站的优化,无刷新wordpress主题,WordPress清除ID沉余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/90250/

相关文章:

  • 工程造价信息价在什么网站查个人网站怎样备案
  • 南京网站排名建设配资网站有要求吗
  • 什么专业学网站建设免费python在线网站
  • 河北省住房和城乡建设局网站百度联系电话多少
  • ui做的好的公司网站淘宝客网站做app
  • 建站自助网站域名备案更改
  • 做贸易的网站百度cdn wordpress
  • 乐山网站建设培训学校太原做网站联系方式
  • 建外贸网站哪个好三维建模
  • 书城网站建设规划书网站维护与建设合同书
  • 如何做好阿里巴巴企业网站建设阿里云怎样做公司网站
  • 做艺术品的网站合同 制作 网站
  • 爱站网关键词排名个人主题网站设计
  • 营销型网站建设推来客网络马云的网站是谁建设的
  • 网站开发软件有网站开发商官网
  • 太仓手机网站建设成都响应式网站建设
  • react怎么做pc网站网站管理公司 优帮云
  • 自己做的免费的网站天天重发好吗wordpress的阅读量
  • 旅游做哪个网站好网站关键词是什么
  • 简阳网站建设简阳供需平台类网站建设
  • 云南做公司网站多少钱做彩票网站程序违法吗
  • 嘉峪关网站seowordpress首页模板是哪个文件
  • 怎样通过网盘做电影网站正式做网站站点怎么新建
  • 做网站要审批吗wordpress 前台编辑
  • 移动网站设计上机考试网站建设与管理案例教程第三版课后答案
  • 网站建设优化是干嘛门户网站制作流程博客
  • 怎么做网站动态地图哪家建站好
  • 卓成建设集团有限公司网站5m带宽做视频网站
  • 无锡网站制作哪家强论客企业邮箱官网
  • 用iis做网站济南互联网运营公司