文件服务
概述
文件服务用来存储系统的文件数据,文件的上传和下载都要使用文件服务
配置
连接参数配置
{
"max_file_size": 53687091200,
"minio": {
"endPoint": "127.0.0.1",
"port": 9000,
"accessKey": "mmstudio",
"secretKey": "Mmstudio123",
"useSSL": false,
"region": "cn-north-1",
"partSize": 5242880
}
}
docker
services:
minio:
image: minio/minio
container_name: minio
command: server /data
volumes:
- /home/feidao/data/minio:/data
ports:
- 9000:9000
environment:
MINIO_ACCESS_KEY: mmstudio
MINIO_SECRET_KEY: Mmstudio123
调用示例
上传文件服务的示例代码参见p000020
下载文件服务的示例代码参见p00020
下载文件时,使用上传返回的id拼接即可,如上传了一个文件,返回信息为:
[{"contentType":"image/png","id":"7606b4fa-3067-40d7-8cf0-e55920e975a3","md5":"af201af68a97517930f4f538df66f04c-1","name":"Screenshot from 2020-04-27 14-39-05.png"}]
那么使用
http://localhost:3000/api/s002?id=7606b4fa-3067-40d7-8cf0-e55920e975a3
就可以访问这个文件
上传文件的复杂处理
有一些情况,我们需要将文件进行一些处理才能保存进对象存储库中,比如需要将视频转换为mp4格式,再比如需要将上传的图片添加水印,可以模仿视频转换的原子操作自行处理。如果有具体需求,也可以封装成为公共原子操作以供所有项目使用。
这里学徒提倡一下开源思想,有些果人可能会认为我好不容易封装了一个原子操作,别人使用可能就窃取了我的劳动成果,其实没有那么严重,只有大家人人贡献,开源的道路才会更广阔,我们才可以站在巨人的肩膀上,技术不会成为你成功的阻碍,你自己的思想才会是。