公司的开发框架集成了附件本地存储,阿里云,华为云等,现项目有要求附件存储与应用部署环境不能是同一台服务器,也不能使用云存储,经过技术选型后决定框架整合minio,将minio部署在另一台服务器开通外网端口即可解决问题
下载minio安装部署包,创建对应配置文件,这里提供一个整合后的压缩包
下载地址:https://download.csdn.net/download/u013407099/45602196
创建minioData文件夹作为文件存储路径,解压安装包根据放置路径修改对应配置文件文件
minio-service.xml和run.bat
解压部署包后cmd进入对应解压路径,输入命令minio.exe server D:\minioData 初始化后关闭cmd命令
使用服务安装工具安装服务,选择minio-service.exe
windows服务安装工具下载地址:https://download.csdn.net/download/u013407099/45603714
启动服务后访问 http://127.0.0.1:9999/
用户名:admin 密码:abcd@1234 (端口及账户密码都是在run.bat文件中配置的)
进入系统创建bucket用于存储文件(类似于阿里云)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuITQlQUOlkTRlMEOlUTOlcTRl8WaulWbvwFOBViM4USNFVCO5UCRBVSNFViNCViQCVCNFVyN4UiN5UiNFVybp5WathDOlATOlUTRlQjQlUTOlYTRlQ3bvJ0ZulmcwN1Lcd2bsJ0LcJXZ0NXYt9CX3FmcvwFZlJWLldWYtl2LcN2byJTZk92YvwVbvNmLlVGdpd2Lc9CX6MHc0RHaiojIsJye.png)
这里分别配置上传/下载地址是正式项目可能配置外网端口后,服务器中不能访问对应的外网端口,上传走内网,下载走外网
getkey方法只是指定对应的自定义存储路径
指定content-type是为了浏览器能打开附件时,图片和pdf等文件能够在线浏览
不指定默认都是stream,打开文件统一为下载
需要注意的是,生成的文件下载地址是和MinioClient中指定的服务器地址绑定的,使用nginx代理后是无效的