zoukankan      html  css  js  c++  java
  • 项目二、自定义文件上传函数(js函数)

    /**
     * 文件上传工具 v1.0
     * @param file 要上传的文件
     * @param url 要上传到的路径
     * @param div 要显示的区域
     */
    function uploader(file, url, div) {
        
        var xhr = new XMLHttpRequest(); //创建xhr对象
        var _data = new FormData(); //创建数据对象
        _data.append("file", file); //添加文件
    
        var _prog = document.createElement("progress");//创建进度条
        _prog.setAttribute("max", "100");   //设置最大值
        var _lbl = document.createElement("label"); //创建标签
        _lbl.innerHTML = file.name;    //显示文件名
        var _btn = document.createElement("button");    //创建按钮
        _btn.innerHTML = "删除";  //设置文字
        
        var _innerDiv = document.createElement("div");//创建显示区域
        _innerDiv.appendChild(_prog); //将进度条添加到显示区域
        _innerDiv.appendChild(_lbl);  //将标签添加到显示区域
        _innerDiv.appendChild(_btn);      //将按钮添加到显示区域
    
        //状态发生改变时的处理
        xhr.onreadystatechange = function () {
            //如果准备好了,但还没发送时
            if(xhr.readyState == 1){
                div.appendChild(_innerDiv);
            }
            //如果传送完成了
            else if(xhr.readyState == 4 && xhr.status == 200){
                _lbl.innerHTML += xhr.responseText;  //将结果显示在标签上
            }
        }
    
        //传送过程处理
        xhr.upload.onprogress = function (event) {
            var percentCompleted = Math.round(event.loaded * 100 / event.total);//计算上传百分比
            _prog.setAttribute("value", percentCompleted);  //将结果显示在进度条上
        }
    
        xhr.open("POST", url, true);    //打开连接
        xhr.send(_data);    //发送文件
    }
  • 相关阅读:
    前端之页面标签的图标修改
    分页, 解析器, 渲染器
    DRF的认证,频率,权限
    视图组件,路由组件,版本控制
    序列化组件
    Restful规范
    docker大全集
    哨兵和docker容器
    项目发布须知
    Linux之nginx
  • 原文地址:https://www.cnblogs.com/tanhao/p/7442155.html
Copyright © 2011-2022 走看看