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);    //发送文件
    }
  • 相关阅读:
    使用Leangoo玩转故事地图
    用Leangoo做敏捷需求管理
    LEANGOO成员
    LEANGOO卡片
    给WebAPI的REST接口添加测试页面(三)
    使用Win2D在UWP程序中2D绘图(二)
    Visual Studio 2015的“转到定义”和“查看定义”出错的Bug
    使用Win2D在UWP程序中2D绘图(一)
    Windows 10 UWP程序标题栏设置
    .NET 4.6的RyuJIT尾递归优化的Bug
  • 原文地址:https://www.cnblogs.com/tanhao/p/7442155.html
Copyright © 2011-2022 走看看