javascript前端實現(xiàn)多視頻上傳
更新時間:2020年12月13日 11:34:48 作者:xiaoShengSanYue
這篇文章主要為大家詳細介紹了javascript前端實現(xiàn)多視頻上傳,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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">確認提交</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);
}
// 確認提交按鈕
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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于js中removeEventListener取消事件監(jiān)聽的坑
許多入前端不久的人都會遇到removeEventListener無法清除監(jiān)聽的情況,下面這篇文章主要給大家介紹了關(guān)于js中removeEventListener取消事件監(jiān)聽的坑,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09
JavaScript數(shù)據(jù)結(jié)構(gòu)之鏈表各種操作詳解
數(shù)據(jù)結(jié)構(gòu)是一種有效處理大量數(shù)據(jù)的手段,了解它的結(jié)構(gòu)和組成為我們提供了更有效的工具來設(shè)計與某些問題相關(guān)的產(chǎn)品。這次我們將進行鏈表介紹,回顧它的特點和用途2022-10-10
IE8的JavaScript點擊事件(onclick)不兼容的解決方法
這篇文章主要介紹了IE8的JavaScript點擊事件(onclick)不兼容的解決方法,大家參考使用吧2013-11-11

