視頻文件上傳與數(shù)據(jù)入庫

最近公司有一部分新的教育視頻要發(fā)布,視頻文件會(huì)掛載到課本對(duì)應(yīng)的章節(jié)目錄下。程序的后臺(tái)是用tp寫的,數(shù)據(jù)庫用的mysql,而我是搞nodejs的,一直用nodejs搞mongodb??吹竭@里你已經(jīng)發(fā)現(xiàn)了很多的不搭調(diào)。基于我個(gè)人,我一直想嘗試使用sequelize玩下nodejs操作mysql。OK,這是一個(gè)契機(jī)。于是,我想到了這樣一個(gè)處理方式:

  • 將視頻文件按章節(jié)目錄存到對(duì)應(yīng)的文件夾下;
  • nodejs遍歷文件夾將視頻文件讀出,封裝成一個(gè)數(shù)據(jù)對(duì)象,包含視頻對(duì)應(yīng)的章節(jié)等信息;
  • 使用map方法,將對(duì)象轉(zhuǎn)換成異步函數(shù),之后nodejs發(fā)起多個(gè)異步操作;
  • 通過sequelize,獲取數(shù)據(jù)庫中到對(duì)應(yīng)章節(jié)的ID(chapter_id)和電子書的ID(book_id);
  • 通過request模塊,將視頻文件上傳給php接口,php接口將文件保存好后返回?cái)?shù)據(jù)庫中的文件ID(file_id);
  • 最后,將三個(gè)ID的關(guān)系寫入數(shù)據(jù)庫。

原先我比較習(xí)慣使用async,但當(dāng)我發(fā)現(xiàn)sequelize的使用方法后,我覺得我是時(shí)候向大神靠攏了,還是乖乖使用promise吧。程序的原理其實(shí)挺簡(jiǎn)單,但是我玩遍了sequelize、promise和request上傳文件,覺得好高興,最重要的是,我覺得簡(jiǎn)書真的是個(gè)好東西,于是我想用markdown在這上面寫上第一篇文章,于是,你看到了這里。謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容