这期内容当中小编将会给大家带来有关利用javascript怎么实现一个视频上传功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
效果图如下:
其实拿电视剧来举例子更合适,比如要添加一个电视剧,而这部电视剧有很多集,而如果视频格式是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">请输入第几节:</label>
<div class="col-md-9 col-xs-12">
<input type="text" class="form-control" name="sort[]"
placeholder="第1节就输入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" >
<button type="button" class="btn btn-info" onclick="addVideos()" >添加视频
</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'>请输入第几节:</label><div class='col-md-9 col-xs-12'><input type='text' class='form-control' name='sort[]' placeholder='第1节就输入1' required></div></div><div class='form-group col-md-12 col-xs-12'><div class='line'></div> </div>";
$('.class').append(addDom)
}
// 获取选择视频的个数(因为目前我写的是上传m3u8文件,所以需要用这个来告诉后端每一集有多少个ts文件,如果是上传mp4文件的话,我猜是不用说明这个的,不过我没有尝试过)
function selectVideos(obj) {
let fileCount = obj.files.length;
fileCountList.push(fileCount);
}
// 确认提交按钮
function addSubmit() {
// 在使用FormData提交数据的时候,需要用原生的js,不能使用jQuery,如果要使用jQuery获取的话,需要将jQuery获取到的对象转换成原生的DOM节点,具体的可以看我之前的一篇文章
// 这个时候如果使用console.log(formData)是看不到数据的,但是不要怀疑,按照下面的操作仍然是可以把数据提交上去的
let formData = new FormData(document.getElementById('uploadVideosForm'));
// 向formData中添加数据
formData.append('fileCountList',fileCountList);
$.ajax({
url: '上传视频的路径',
method: 'post',
processData: false,
contentType: false,
dataType: "json",
data: formData,
success: function (data) {
console.log(data)
}
})
}
</script>
上述就是小编为大家分享的利用javascript怎么实现一个视频上传功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。