javascript前端實現(xiàn)多視頻上傳
更新時間:2020年12月13日 11:34:48 作者:xiaoShengSanYue
這篇文章主要為大家詳細(xì)介紹了javascript前端實現(xiàn)多視頻上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了javascript前端實現(xiàn)多視頻上傳的具體代碼,供大家參考,具體內(nèi)容如下
效果圖如下:
其實拿電視劇來舉例子更合適,比如要添加一個電視劇,而這部電視劇有很多集,而如果視頻格式是m3u8格式的話,就和我的一樣了,就需要同時選中很多個文件,這個時候就需要用到這樣類似的功能了。
代碼如下:
<style> .line { width: 80%; height: 1px; border-top: solid RGB(85, 175, 230) 1px; margin: 0 auto; } </style> <form enctype="multipart/form-data"> <div class="class"> <div class="form-group col-md-12 col-xs-12"> <label class="col-md-3 col-xs-12">請輸入課程名稱</label> <div class="col-md-9 col-xs-12"> <input type="text" id="addClassName" class="form-control" name="addClassName[]"> </div> </div> <div class="form-group col-md-12 col-xs-12"> <label class="col-md-3 col-xs-12">請選擇視頻</label> <div class="col-md-9 col-xs-12"> <input onchange="selectVideos(this)" type="file" id="uploadVideos" name="file[]" multiple> </div> </div> <div class="form-group col-md-12 col-xs-12"> <label class="col-md-3 col-xs-12">請輸入第幾節(jié):</label> <div class="col-md-9 col-xs-12"> <input type="text" class="form-control" name="sort[]" placeholder="第1節(jié)就輸入1" required value=""> </div> </div> <div class="form-group col-md-12 col-xs-12"> <div class="line"></div> </div> </div> <div class="modal-footer" style="border-top:transparent;"> <button type="button" class="btn btn-info" onclick="addVideos()" style="margin-right: 700px">添加視頻 </button> <button type="button" onclick="addSubmit()" class="btn btn-primary">確認(rèn)提交</button> <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> </div> </form> <script> var fileCountList = []; // 添加視頻按鈕 function addVideos() { let addDom = "<div class='form-group col-md-12 col-xs-12'><label class='col-md-3 col-xs-12'>請輸入課程名稱</label><div class='col-md-9 col-xs-12'><input type='text' class='form-control' name='addClassName[]'> </div></div><div class='form-group col-md-12 col-xs-12'><label class='col-md-3 col-xs-12'>請選擇視頻</label><div class='col-md-9 col-xs-12'> <input type='file' name='file[]' multiple οnchange='selectVideos(this)'></div></div> <div class='form-group col-md-12 col-xs-12'><label class='col-md-3 col-xs-12'>請輸入第幾節(jié):</label><div class='col-md-9 col-xs-12'><input type='text' class='form-control' name='sort[]' placeholder='第1節(jié)就輸入1' required></div></div><div class='form-group col-md-12 col-xs-12'><div class='line'></div> </div>"; $('.class').append(addDom) } // 獲取選擇視頻的個數(shù)(因為目前我寫的是上傳m3u8文件,所以需要用這個來告訴后端每一集有多少個ts文件,如果是上傳mp4文件的話,我猜是不用說明這個的,不過我沒有嘗試過) function selectVideos(obj) { let fileCount = obj.files.length; fileCountList.push(fileCount); } // 確認(rèn)提交按鈕 function addSubmit() { // 在使用FormData提交數(shù)據(jù)的時候,需要用原生的js,不能使用jQuery,如果要使用jQuery獲取的話,需要將jQuery獲取到的對象轉(zhuǎn)換成原生的DOM節(jié)點,具體的可以看我之前的一篇文章 // 這個時候如果使用console.log(formData)是看不到數(shù)據(jù)的,但是不要懷疑,按照下面的操作仍然是可以把數(shù)據(jù)提交上去的 let formData = new FormData(document.getElementById('uploadVideosForm')); // 向formData中添加數(shù)據(jù) formData.append('fileCountList',fileCountList); $.ajax({ url: '上傳視頻的路徑', method: 'post', processData: false, contentType: false, dataType: "json", data: formData, success: function (data) { console.log(data) } }) } </script>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于js中removeEventListener取消事件監(jiān)聽的坑
許多入前端不久的人都會遇到removeEventListener無法清除監(jiān)聽的情況,下面這篇文章主要給大家介紹了關(guān)于js中removeEventListener取消事件監(jiān)聽的坑,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09JavaScript數(shù)據(jù)結(jié)構(gòu)之鏈表各種操作詳解
數(shù)據(jù)結(jié)構(gòu)是一種有效處理大量數(shù)據(jù)的手段,了解它的結(jié)構(gòu)和組成為我們提供了更有效的工具來設(shè)計與某些問題相關(guān)的產(chǎn)品。這次我們將進(jìn)行鏈表介紹,回顧它的特點和用途2022-10-10IE8的JavaScript點擊事件(onclick)不兼容的解決方法
這篇文章主要介紹了IE8的JavaScript點擊事件(onclick)不兼容的解決方法,大家參考使用吧2013-11-11