文件服务

文件存储服务

文件存储的方式可以保存在磁盘上,也可以保存进一些存储服务。我们选择使用miniio用来作为文件的存储。

启动服务

使用docker启动存储服务,将以下内容保存为yaml文件(如docker.yaml),或将内容合并至某一个已存在的docker配置文件中,并使用docker-compose启动它

配置连接参数

项目下新建mm.json文件(如果已存在,向里面新增内容即可)

使用命令docker-compose启动它

安装依赖库

文件服务配置

凡是需要读取文件的服务,均需将服务配置中的bodyParser值修改为false

上传

可以使用我们封装好的一个原子操作@mmstudio/an000045来完成。

安装依赖库

使用原子操作

下载

使用原子操作@mmstudio/an000046完成

删除

使用原子操作@mmstudio/an000053

替换

替换其实就是删除+保存的过程。可以使用原子操作@mmstudio/an000054

图片/视频

图片文件按一般文件处理即可,但是视频文件除了像其它类型文件一样处理之外,需要获取视频的播放时长等媒体信息,就不能只是保存一样那么简单,原子操作@mmstudio/an000044可以处理这问题,但这需要电脑上安装有相应的应用。

安装

Excel

我们也经常会用到excel文件的解析,生成以及excel的动态生成等。

解析excel

使用原子操作@mmstudio/an000041可以将用户上传的文件保存到临时目录。然后使用另外一个原子操作@mmstudio/an000024通过excel的转换将其转换为json,用以数据处理.在所有文件处理完,不要忘了删除临时文件。以下为完整的一段示例代码:

下载excel

如果是制作好的excel模板,可以将excel模板放在项目目录的public目录下,然后页面上直接使用超链接即可下载。

如果是上传到存储服务中的excel文件,则可以像普通文件一样使用原子操作@mmstudio/an000046进行下载。

如果需要动态生成excel文件。比如需要使用实时数据导出excel文件,则需要借助nodejs上可用的第三方包,如excel.js来完成。