首页 > 其他分享 >直播app开发搭建,计算视频上传所需时间

直播app开发搭建,计算视频上传所需时间

时间:2022-12-29 14:36:59浏览次数:36  
标签:procentComplete console data app xhr 直播 var 上传

直播app开发搭建,计算视频上传所需时间

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../lib/bootstrap.css" />
    <script src="../lib/jquery.js"></script>
</head>
<body>
    <!-- 文件选择框 -->
    <input type="file" id="file1" />
 
    <!-- 上传文件 -->
    <button id="btnUpload">上传文件</button>
    <!-- bootstrap中的进度条 -->
    <div style="width: 500px; margin: 15px 10px;">
        <div class="progress-bar progress-bar-striped active" style="width: 0%" id="percent">
          0%
        </div>
      </div>
    <!-- img标签,用来展示上传成功以后的图片 -->
    <img src="" alt="" id="img" width="800" />
 
 
    <script>
        //获取到文件上传按钮
        var btnUpload = document.querySelector('#btnUpload')
        //为按钮绑定单击事件处理函数
        btnUpload.addEventListener('click', function() {
            //获取文件的选择列表
            var files = document.querySelector('#file1').files
            if(files.length <= 0) {
                return alert('请选择要上传的文件!')
            }
            console.log('用户选择了待上传的文件');
            var fd = new FormData()
            fd.append('avatar',files[0])
 
            var xhr = new XMLHttpRequest()
            //监听文件的上传进度   要写在open函数之前
            xhr.upload.onprogress = function (e) {                   
                    if(e.lengthComputable) {   //lengthComputable是一个表示进度信息是否可用的布尔值
                       var procentComplete =  Math.ceil((e.loaded / e.total) * 100)
                       console.log(procentComplete); 
                       //动态设置进度条
                       $('#percent').attr('style', 'width:' + procentComplete + '%;').html(procentComplete+ '%')
                    }
            }
            //监听上传完成的事件  在完成上传后将进度条颜色变为绿色
            xhr.upload.onload = function (e) {
                $('#percent').removeClass().addClass('progress-bar progress-bar-success')
            }
 
            xhr.open('POST','http://www.liulongbin.top:3006/api/upload/avatar')
            xhr.send(fd)
 
 
            xhr.onreadystatechange = function() {
                if(xhr.readyState === 4 && xhr.status === 200) {
                    var data = JSON.parse(xhr.responseText)
                    console.log(data);
                    if(data.status === 200) {
                        //上传成功
                        document.querySelector('#img').src = 'http://www.liulongbin.top:3006' + data.url
                    } else {
                        //上传失败
                        console.log('图片上传失败' + data.message);
                    }
                }
            }
        })
 
    </script>
</body>
</html>

以上就是 直播app开发搭建,计算视频上传所需时间,更多内容欢迎关注之后的文章

 

标签:procentComplete,console,data,app,xhr,直播,var,上传
From: https://www.cnblogs.com/yunbaomengnan/p/17012418.html

相关文章

  • 直播系统app源码,元素水平垂直居中
    直播系统app源码,元素水平垂直居中  position:absolute; top:45%; left:50%; transform:translate(-50%,-50%);​以上就是直播系统app源码,元素水平垂直居......
  • 视频直播系统源码,const声明关键字是哪一个
    视频直播系统源码,const声明关键字是哪一个const声明的变量也具有块级作用域。 if(1){      consta=20    if(1){      consta......
  • 文件上传漏洞靶机搭建教程
    uplad-labs靶场注意:该靶场为优秀的github开源项目,项目地址为:​​https://github.com/c0ny1/upload-labs​​介绍upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF......
  • 直播回顾|结构光3D相机光机核心技术及3D成像性能分析
    大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间(bilibili号:3D视觉工坊:https://space.bilibili.com/483478083),对3D视觉领域相关知识点进行讲解,欢迎大家的关注。回......
  • 重磅直播|大规模点云可视化技术
    大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间,对3D视觉领域相关知识点进行讲解,并在微信群内完成答疑。主讲人对该领域的核心和主流技术进行了详解,干货满满,线下......
  • 直播回顾|大规模点云显示技术
    大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间(bilibili号:3D视觉工坊:https://space.bilibili.com/483478083),对3D视觉领域相关知识点进行讲解,欢迎大家的关注。视......
  • 重磅直播|基于格雷码结合相移技术的高鲁棒性高效率动态三维面形测量
    主讲人对该领域的核心和主流技术进行了详解,干货满满,线下的答疑更是赢得了同学们的好评。本期由四川大学三维传感与机器视觉实验室博士生吴周杰分享,分享的主题为《基于格雷码......
  • laravel + layui 图片上传
    1.前端HTML代码<divclass="layui-form-item"><labelclass="layui-form-label">修改头像</label><divclass="layui-input-inlineuploadHeadImage">......
  • SiteFactory支持Word图片上传
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑......
  • web测试和app测试的异同点
    基础行业的web测试,和手机app测试又有什么的相同点与不同之处呢?1、相同点不管是传统行业的web测试,还是新兴的手机app测试,都离不开测试的基础知识,即是不管怎......