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

贵阳微网站建设公司哪家好做问卷的几个网站

贵阳微网站建设公司哪家好,做问卷的几个网站,网站开发+协作平台,crm系统介绍minio是一款分布式存储系统#xff0c;上一篇详细介绍了minio在windows环境下的搭建集群并通过nginx实现负载均衡#xff0c;这里简单介绍下springboot项目整合minio并实现文件的上传下载删除等操作。 一、依赖的引入 1.1、maven项目 dependencygroupIdio…minio是一款分布式存储系统上一篇详细介绍了minio在windows环境下的搭建集群并通过nginx实现负载均衡这里简单介绍下springboot项目整合minio并实现文件的上传下载删除等操作。 一、依赖的引入 1.1、maven项目 dependencygroupIdio.minio/groupIdartifactIdminio/artifactIdversion8.3.0/version /dependency1.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){ListString 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, ListString 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.txtprivate 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.txtprivate 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(){// 获取文件列表IterableResultItem results minioClient.listObjects(ListObjectsArgs.builder().bucket(bucketName).build());IteratorResultItem iterator results.iterator();ListObject 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(ListMultipartFile 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 {IterableResultItem results minioClient.listObjects(ListObjectsArgs.builder().bucket(bucketName).delimiter(dir).prefix(dir/).build());for (ResultItem 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.dnsts.com.cn/news/8857.html

相关文章:

  • 网站策划做啥网站如何使用cdn
  • phpstudy2016快速搭建网站内蒙古建设工程造价信息网官方网站
  • 网站名称有哪些淮安网站建设个人博客
  • 网站建设服务商推荐电脑托管
  • 网站建设项目可行性asp.net 网站管理工具 安全
  • 怎么做网站服务器吗成色好的y31s标准版下载
  • 浏览器禁止网站怎么做宝安企业网站建设
  • 做网站域名服务器怎么做网站 先简单的聊一下
  • 杭州市建设信用网站时代创信网站建设
  • c mvc网站开发实例教程自己给公司做网站
  • 网站建设所需要的内容衡阳网站建设公司电话
  • 做旅游网站能成功深圳网络推广案例
  • 美容院网站模板集团网页建设
  • 鲅鱼圈网站怎么做庆阳手机网站设计
  • 网站导航条怎么做效果绿色网站配色
  • 备案的网站名称能重复备案吗移动互联网数据源分析
  • 广州专业网站建设企业关于做旅游网站的参考文献
  • 塑胶卡板东莞网站建设支持发布一个网站要多少钱
  • 古交做网站中国制造网内贸站
  • 南宁网站推广优化专业做网站推广
  • 网站关键词优化排名要怎么做关键字优化
  • 岳麓区专业的建设网站公司手机网站 域名
  • 做网站怎么选服务器wordpress 新建页面 所有文章
  • 长沙百度网站快速排名手机怎么自己做软件
  • 开公司怎么做网站wordpress升级无法创建目录
  • 电脑报价网站受欢迎的江苏网站建设
  • 做瞹瞹小视频网站工程承包去哪个网站
  • 邢台做网站服务商网站开发属于程序员吗
  • 太原网站优化方案wordpress 后台主题
  • 沈阳做网站一诚金网络专业wordpress批量发文章