一:业务概述:
媒资管理这个模块是我负责开发的,主要的管理对象是视频,图片,文档等
包括文件的上传,视频的处理,文件的删除
(在媒资管理界面,有个上传视频的按钮,视频是在媒资这上传的,课程图片是在内容管理)
上传的图片和视频,会单独存储到搭建的分布式文件系统当中。
当上传视频时,视频比较大,如果我选择的是断点续传来进行上传,并且上传的视频不是都能直接播放的,要进行格式的转换,所以选择一个视频文件上传之后,会自动进行一个格式处理,最后还会进行视频与课程的绑定,这些做好之后,才可以发布一个课程。
二:工作内容
在这个系统中,我一共设计了三张表:分别是媒资文件表,待处理文件表,历史处理文件表。
媒资文件表保存了上传文件的详细信息,比如文件名称,文件类型(图片,文档,视频),存储目录,文件存储路径,文件访问url(针对于图片来说,存储路径和url一致,但是视频的存储路径是avi,而访问url是MP4格式),文件id(md5),等
待处理文件表保存了文件名称,状态,访问地址,失败信息等
历史处理文件表保存了文件名称,状态等
在这里面,我主要给您讲一下视频的上传与处理您看可以吗?
当视频上传之后,会将视频保存到minio这个系统当中
(因为minio系统比较轻量,操作简单,免费,而且可以保证数据安全,不会丢失)
(保证不丢失,是因为它保存的数据,是分块存储的,不会全部保存到一个硬盘上,并且还有备份)
在使用它之前,在程序中添加它的一个依赖,它提供了示例方法,用来进行上传,删除和下载,在程序当中去使用它提供的方法,在方法中依靠它的核心逻辑,进行改造,实现我们想要的功能。
上传是需要先初始化出一个minio对象,在客户端创建出一个bucket,相当于一个文件夹,用来保存上传过来的数据,然后针对于这些大文件的上传,就要进行断点续传了,在文件上传前要对文件进行检查,分块文件上