一:業務概述:
媒資管理這個模塊是我負責開發的,主要的管理對象是視頻,圖片,文檔等
包括文件的上傳,視頻的處理,文件的刪除
(在媒資管理界面,有個上傳視頻的按鈕,視頻是在媒資這上傳的,課程圖片是在內容管理)
上傳的圖片和視頻,會單獨存儲到搭建的分布式文件系統當中。
當上傳視頻時,視頻比較大,如果我選擇的是斷點續傳來進行上傳,并且上傳的視頻不是都能直接播放的,要進行格式的轉換,所以選擇一個視頻文件上傳之后,會自動進行一個格式處理,最后還會進行視頻與課程的綁定,這些做好之后,才可以發布一個課程。
二:工作內容
在這個系統中,我一共設計了三張表:分別是媒資文件表,待處理文件表,歷史處理文件表。
媒資文件表保存了上傳文件的詳細信息,比如文件名稱,文件類型(圖片,文檔,視頻),存儲目錄,文件存儲路徑,文件訪問url(針對于圖片來說,存儲路徑和url一致,但是視頻的存儲路徑是avi,而訪問url是MP4格式),文件id(md5),等
待處理文件表保存了文件名稱,狀態,訪問地址,失敗信息等
歷史處理文件表保存了文件名稱,狀態等
在這里面,我主要給您講一下視頻的上傳與處理您看可以嗎?
當視頻上傳之后,會將視頻保存到minio這個系統當中
(因為minio系統比較輕量,操作簡單,免費,而且可以保證數據安全,不會丟失)
(保證不丟失,是因為它保存的數據,是分塊存儲的,不會全部保存到一個硬盤上,并且還有備份)
在使用它之前,在程序中添加它的一個依賴,它提供了示例方法,用來進行上傳,刪除和下載,在程序當中去使用它提供的方法,在方法中依靠它的核心邏輯,進行改造,實現我們想要的功能。
上傳是需要先初始化出一個minio對象,在客戶端創建出一個bucket,相當于一個文件夾,用來保存上傳過來的數據,然后針對于這些大文件的上傳,就要進行斷點續傳了,在文件上傳前要對文件進行檢查,分塊文件上