minio简单使用记录
一个前端基建项目,将各个组件上传至后台,然后提供预览、下载等服务,其中后端使用nestjs构建,文件上传、下载功能暂时只是通过接口将用户上传文件保存至服务器,文件读取、写入等操作较为繁琐,考虑是否可以使用minio代替原有方式。
minio安装
可以参考minio官网进行操作,但是windows设备不建议在wsl中使用docker运行,尝试数次,均出现无故重启的问题。可以直接下载官网提供的exe文件,按照官网文档进行操作就可以了。在下载完成后,最好将minio写入环境变量中,方便我们在终端中直接运行。
在nestjs中使用。
minio提供了nodejs调用的sdk,我们直接使用封装好的wrap层minio-nestjs-client,当然也可以自己封装,我们简单看一下其实现。


使用nestjs提供的ConfigurableModuleBuilder返回一个动态模块,供我们在使用时对minio进行一些配置,然后我们就可以直接使用其提供的MinioService获取mino client。


创建桶
在配置好minio后,我们需要先创建一个桶,用于存放我们即将存储的文件。我们直接调用minio提供的makeBucket函数创建即可。

文件上传
文件上传,需要参考一下nestjs官网中文件上传的文档


非常方便,这样,我们已经将文件保存到了minio中。
下载、删除、查找等操作,我们直接调用minio提供的接口即可。