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

网站建设是怎么赚钱软件开发费用计算方法

网站建设是怎么赚钱,软件开发费用计算方法,网站建站工具有哪些,昆明网站建设公司哪家好摘要 MinIO 是一款高性能的分布式对象存储服务,与云原生应用完美契合。本文将手把手教你如何在 Spring Boot 3.2 项目中集成 MinIO 8.5 版本,实现文件上传、下载和删除等核心功能,并提供完整代码示例和常见问题解决方案。 一、环境准备 JDK …

摘要
MinIO 是一款高性能的分布式对象存储服务,与云原生应用完美契合。本文将手把手教你如何在 Spring Boot 3.2 项目中集成 MinIO 8.5 版本,实现文件上传、下载和删除等核心功能,并提供完整代码示例和常见问题解决方案。


一、环境准备

  1. JDK 17+(Spring Boot 3.x 要求)
  2. Maven 3.6+ 或 Gradle
  3. MinIO Server 8.5+(本地或远程)

二、创建 Spring Boot 项目

  1. 通过 Spring Initializr 生成项目,选择:

    • Spring Boot 3.2
    • 依赖:Spring Web、Lombok
  2. 添加 MinIO 依赖(pom.xml):

<XML>

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

三、配置 MinIO 客户端

1. 配置参数(application.yml)

<YAML>

minio:endpoint: http://127.0.0.1:9000  #指定虚拟机ip地址access-key: minioadmin # 默认账号secret-key: minioadmin # 默认密码bucket-name: mybucket # 存储桶名称
2. 创建配置类

<JAVA>

@Configuration
public class MinioConfig {@Value("${minio.endpoint}")private String endpoint;@Value("${minio.access-key}")private String accessKey;@Value("${minio.secret-key}")private String secretKey;//虽然MinioClient对象是单例的,但是是线程安全。具体可以参考github源码@Beanpublic MinioClient minioClient() {//链式编程构建客户端对象return MinioClient.builder().endpoint(endpoint) //指定ip地址去访问minio服务器.credentials(accessKey, secretKey)//指定访问账号密码.build();}
}

四、实现文件操作 Service

文件上传工具类

<JAVA>

@Service
@RequiredArgsConstructor
public class MinioService {private final MinioClient minioClient;private final MinioProperties properties;// 初始化存储桶@PostConstructpublic void init() throws Exception {boolean exists = minioClient.bucketExists(BucketExistsArgs.builder().bucket(properties.getBucketName()).build());if (!exists) {minioClient.makeBucket(MakeBucketArgs.builder().bucket(properties.getBucketName()).build());}}// 上传文件public String uploadFile(MultipartFile file, String objectName) throws Exception {if (file.isEmpty()) {throw new IllegalArgumentException("文件不能为空");}minioClient.putObject(PutObjectArgs.builder().bucket(properties.getBucketName()).object(objectName).stream(file.getInputStream(), file.getSize(), -1).contentType(file.getContentType()).build());return objectName;}// 下载文件public byte[] downloadFile(String objectName) throws Exception {try (InputStream stream = minioClient.getObject(GetObjectArgs.builder().bucket(properties.getBucketName()).object(objectName).build())) {return IOUtils.toByteArray(stream);}}// 删除文件public void deleteFile(String objectName) throws Exception {minioClient.removeObject(RemoveObjectArgs.builder().bucket(properties.getBucketName()).object(objectName).build());}
}

五、具体关于minioclient常用方法讲解可以参考该篇文章

https://blog.csdn.net/z2637305611/article/details/146523025?sharetype=blogdetail&sharerId=146523025&sharerefer=PC&sharesource=z2637305611&spm=11.2480.3001.8118


六、测试 API

使用 Postman 测试:

  1. 上传文件

    • 方法: POST
    • 路径/api/files/upload
    • Body → form-data → file 字段选择文件
  2. 下载文件

    • 方法: GET
    • 路径/api/files/download/{objectName}
  3. 删除文件

    • 方法: DELETE
    • 路径/api/files/{objectName}

七、常见问题解决

  1. 连接失败

    • 检查 MinIO 服务状态:docker ps
    • 验证 endpoint 地址和端口
  2. 权限不足

    • 确认 access-key 和 secret-key 正确
    • 检查存储桶权限策略
  3. 文件操作异常

    • 确保存储桶存在(自动创建需开启)
    • 验证对象名称是否存在特殊字符

八、完整代码获取

访问 GitHub 仓库:spring-boot-minio-demo


总结

通过本文,你已成功在 Spring Boot 3.2 中集成 MinIO 8.5,实现了核心文件操作功能。MinIO 的高性能特性结合 Spring Boot 的便捷开发,为应用提供了可靠的存储解决方案。遇到问题欢迎留言讨论!


温馨提示

  • 本文适用于学习和开发环境,生产环境请务必配置更安全的认证方式和访问策略。
  • 如果需要更高级的功能,可以探索 MinIO 的多租户、版本控制等特性。

祝您开发顺利!🚀


文章转载自:

http://56V5GJgC.gwxsk.cn
http://fvui0Udu.gwxsk.cn
http://CBOMFkVH.gwxsk.cn
http://EeElwirk.gwxsk.cn
http://ZCPbpac5.gwxsk.cn
http://RMFLfqbe.gwxsk.cn
http://Qqppgtzn.gwxsk.cn
http://i5WPQLpt.gwxsk.cn
http://8u6wtXjh.gwxsk.cn
http://fn5mVZcE.gwxsk.cn
http://veKUhVWL.gwxsk.cn
http://URfFCvWj.gwxsk.cn
http://gFk9HFSJ.gwxsk.cn
http://qvbTS0BA.gwxsk.cn
http://2SS7tPLP.gwxsk.cn
http://zFGhWmRq.gwxsk.cn
http://1snNVE7b.gwxsk.cn
http://hX0ecULQ.gwxsk.cn
http://wHawNzTu.gwxsk.cn
http://Fk9qwENh.gwxsk.cn
http://A6J3TrDs.gwxsk.cn
http://7kDwpels.gwxsk.cn
http://lBJWLuAX.gwxsk.cn
http://afvkvRRg.gwxsk.cn
http://fDMV1kfM.gwxsk.cn
http://suaIxAhU.gwxsk.cn
http://LJLnOyoz.gwxsk.cn
http://agrrx6pe.gwxsk.cn
http://s5MssXP3.gwxsk.cn
http://9lTO1PgP.gwxsk.cn
http://www.dtcms.com/wzjs/718541.html

相关文章:

  • 网站默认首页文件顺序中信建设有限责任公司地址
  • 网站是广西住房和城乡建设厅网站免费发布与推广
  • 建设部作业证件查询官方网站年轻人适合开什么公司
  • 微站是什么意思网站二级目录 修改路径
  • 最新网站开发语言深圳保障性住房统一网
  • 企业网站、电子期刊属于企业文化传播载体中的( )。如何制作微信小程序店铺
  • 网站建设网页设计网站建设视频教程网
  • 女生大专学什么专业好杭州网站推广与优化
  • 网站分页需要前端做还是后端wordpress evolution
  • 如何用腾讯云主机做网站衡水做wap网站的公司
  • 一个完美的网站怎么做网站建设 问卷调查
  • 网站开发费用多少莱芜可信赖的网站建设
  • 汕头选择免费网站优化如何做网站网站
  • 网站的产品图片怎样做清晰营销网站建设合同
  • 深圳哪些公司需要做网站深圳市罗湖区住房和建设局官网
  • 做美食的网站哪个好黄冈便宜的网站推广怎么做
  • 宁波 外贸网站建设做平面设计都关注哪些网站
  • 四川广安网站建设如何设计制作一般的企业网站
  • 网站案例展示网络推广网站大全
  • 规划网站开发总体方案外贸免费p2p网站建设
  • 海南彩票网站开发百度站长工具网站提交
  • asp新闻发布网站模板下载网络架构是什么
  • 网站设计公司哪里好wordpress 不同数据库
  • 郑州定制网站开发在线设计平台行业的发展趋势
  • 网站搭建需要什么国外html响应式网站模板
  • 网站登录界面html安顺高端网站建设平台
  • 专业自适应网站建设极速建站网络营销推广公司网站有哪些
  • 网站后台模板永康市网站建设
  • 集宁网站建设SEO优化网站设置地图
  • 北海哪里做网站建设汕头seo优化培训