专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

SpringBoot整合MinIO实现文件的分片上传、秒传、续传!

macrozheng  · 公众号  ·  · 2024-07-19 14:10
    

主要观点总结

文章介绍了Spring Boot整合Minio实现文件上传的两种方式,并分享了基于mall项目的实战经验和资源。文章首先讲述了文件上传到后端再由后端保存到Minio的方式,随后探讨了直接上传文件到Minio的优缺点。接下来,文章详细解释了通过后端生成并返回上传凭证,前端凭借凭证直接上传文件到Minio的流程,以及该方式的优点。此外,文章还分享了一个开源电商项目mall,该项目基于SpringBoot3、JDK17和Vue实现,使用Docker容器化部署,后端支持多模块和微服务架构,涵盖了商品、订单、购物车、权限、优惠券、会员、支付等功能。

关键观点总结

关键观点1: 文件上传到后端再由后端保存到Minio的方式

这种方式可以实现身份验证、权限控制、文件与处理,并可进行额外的业务逻辑处理,如生成缩略图、提取元数据等。

关键观点2: 直接上传文件到Minio的方式

这种方式可以减少后端资源占用,提高性能,但需处理网络延迟和单点故障问题。

关键观点3: 使用后端生成并返回上传凭证

这种方式可以实现一定程度的权限控制,前端凭借凭证直接上传文件到Minio。

关键观点4: 开源电商项目mall

mall项目是一套基于SpringBoot3、JDK17和Vue实现的电商系统,采用Docker容器化部署,支持多模块和微服务架构,涵盖了商品、订单、购物车、权限、优惠券、会员、支付等功能,提供了完整的项目实战经验和资源。


文章预览

mall学习教程官网: macrozheng.com 作者:失败的面 来源:juejin.cn/post/7273751566228996155 概述 Spring Boot整合Minio后,前端的文件上传有两种方式: 文件上传到后端,由后端保存到Minio 这种方式好处是完全由后端集中管理,可以很好的做到、身份验证、权限控制、文件与处理等,并且可以做一些额外的业务逻辑,比如生成缩略图、提取元数据等。 缺点也很明显: 所以,实际上我们不会把文件传到后端,而是直接传给Minio,其实这也符合OSS服务的使用方式。 延迟时间高了,本来花费上传一次文件的时间,现在多了后端保存到Minio的时间 后端资源占用,后端本来可以只处理业务请求,现在还要负责文件流,增加了性能压力 单点故障,Minio即便做了集群,但是如果后端服务器故障,也会导致Minio不可用 文件向后端申请上传凭证,然后直接上传到Minio 为了避免Minio ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览