首页 > 编程语言 >在线直播源码,js 文件上传 图片上传 传输速度计算

在线直播源码,js 文件上传 图片上传 传输速度计算

时间:2023-11-07 14:12:12浏览次数:27  
标签:文件 formdata js xhr 源码 file progress 上传

在线直播源码,js 文件上传 图片上传 传输速度计算

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #progress{
            height:10px;
            width:500px;
            border: 1px solid gold;
            position: relative;
            border-radius: 5px;
        }
        #progress .progress-item{
            height:100%;
            position: absolute;
            left:0;
            top:0;
            background: chartreuse;
            border-radius: 5px;
            transition: width .3s linear;
        }
    </style>
</head>
<body>
文件上传框<br>
<input type="file" id="file"><br>
显示进度条<br>
<div id="progress">
    <div></div>
</div>
上传成功后的返回内容<br>
<span id="callback"></span>
</body>
<script>
    //首先监听input框的变动,选中一个新的文件会触发change事件
    document.querySelector("#file").addEventListener("change",function () {
        //获取到选中的文件
        var file = document.querySelector("#file").files[0];
        //创建formdata对象
        var formdata = new FormData();
        formdata.append("file",file);
        //创建xhr,使用ajax进行文件上传
        var xhr = new XMLHttpRequest();
        xhr.open("post","/");
        //回调
        xhr.onreadystatechange = function () {
            if (xhr.readyState==4 && xhr.status==200){
                document.querySelector("#callback").innerText = xhr.responseText;
            }
        }
        //获取上传的进度
        xhr.upload.onprogress = function (event) {
            if(event.lengthComputable){
                var percent = event.loaded/event.total *100;
                document.querySelector("#progress .progress-item").style.width = percent+"%";
            }
        }
        //将formdata上传
        xhr.send(formdata);
    });
</script>
</html>
 

​以上就是在线直播源码,js 文件上传 图片上传 传输速度计算, 更多内容欢迎关注之后的文章

 

标签:文件,formdata,js,xhr,源码,file,progress,上传
From: https://www.cnblogs.com/yunbaomengnan/p/17814859.html

相关文章

  • 在线直播系统源码,输入框限制字节数 区分中英文
    在线直播系统源码,输入框限制字节数区分中英文   // 规则名称验证规则  不包含特殊字符   letcheckGroupName=(rule,value,callback)=>{    letreg=/^[0-9A-Za-z\u4e00-\u9fa5\(\)\(\)]+$/;     if(value!==''&&!reg.test(value)){......
  • js判断url是否可用
    问题需要判断url是否可用,再去执行其他操作,代码如下:constloadScript=(url)=>{returnnewPromise((resolve,reject)=>{constscript=document.createElement('script')script.onload=()=>resolve(true)script.onerror=()=>resolve(fa......
  • zookeeper源码(04)leader选举流程
    在"zookeeper源码(03)集群启动流程"中介绍了leader选举的入口,本文将详细分析leader选举组件和流程。leader选举流程(重要)quorumPeer的start阶段使用startLeaderElection()方法启动选举LOOKING状态,投自己一票createElectionAlgorithm-创建选举核心组件:QuorumCnxManager(管......
  • js的书写位置
    行内<buttononclick="alert(’不好意思,密码错误哦‘)”>验证</button><ahref="javascript:alert(’不好意思,密码错误哦‘)">验证</a>button为按钮,可用于之后编写验证按钮注意:若要也行内,在div中注意要加onclick=“”      在a标签中要写在href里注意添加j......
  • vue 大文件分片上传(断点续传、并发上传、秒传)
    对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是不可取,很容易导致内存问题。所以对于大文件上传,采用切块分段上传,从上传的效率来看,利用多线程并发上传能够达到最大效率。本文是基于springboot+vue实现的文件上传,本文主要介绍vue实现文件上传的步骤......
  • git将本地文件上传到远程仓库
    git将本地文件上传到远程仓库#####要记住!>上传代码之前,一定要先下拉代码,如果有**冲突**(你和别人同时修改了某一个文件的某一行代码),那么就要先**解决冲突**,才能提交!------####这里以将自己的本地文件上传至git仓库为例1、首先进入需要上传的文件夹,鼠标右键点击**GitBashH......
  • NodeJS系列(15)- TypeScript (二) | 对象类型 (Object Types)
    在“NodeJS系列(14)-TypeScript(一)|安装TypeScript、常用类型”里,我们简单介绍了TypeScript的安装配置,讲解和演示了TypeScript常用类型。本文继续介绍TypeScript对象类型(ObjectTypes)。TypeScript:https://www.typescriptlang.org/(中文版:https://ts.nodejs.cn/)Micro......
  • NodeJS系列(14)- TypeScript (一) | 安装 TypeScript、TypeScript 常用类型
    JavaScript现在是有史以来最广泛使用的跨平台语言之一。JavaScript最初是一种用于向网页添加微不足道的交互性的小型脚本语言,现已发展成为各种规模的前端和后端应用的首选语言。虽然用JavaScript编写的程序的大小、作用域和复杂性呈指数级增长,但JavaScript语言表达不同代码......
  • JS脚本实现刷新页面,随机加载背景图片
    新建switch.js,内容如下: varimgs=[ "https://mlabs.gitee.io/pics/webp/tiankong002-mid.webp", "https://mlabs.gitee.io/pics/webp/wallhaven-gp1q87.webp", "https://mlabs.gitee.io/pics/webp/shanshui007sm......
  • js 拼接字符串带变量(js方法参数单双引号拼接的问题记录)
    小结:外面单引号,里面双引号,然后方法参数给转义的单引号即可(看下面的onClick事件即可)//刷新二级信号表格(增删改操作后)functionreloadSignal(subId){//清空$("#msgAll"+subId).empty();//js手工添加表格varhtmlStart='<spanstyle="posit......