/**
* 文件上传工具 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); //发送文件
}

项目二、自定义文件上传函数(js函数)的更多相关文章

  1. 项目三、文件上传器v1.1

    /** * 自定义文件上传工具 v1.1 * @param url 路径 */ function fileUploader(url) { var _date = new Date(); //日期 th ...

  2. python运维开发(二十一)----文件上传和验证码+session

    内容目录: 文件上传 验证码+session 文件和图片的上传功能 HTML Form表单提交,实例展示 views 代码 HTML ajax提交 原生ajax提交,XMLHttpRequest方式上 ...

  3. 再springMVC中自定义文件上传处理解决与原spring中MultipartResolve冲突问题

    相信很多朋友再用springmvc时都遇见了一个问题,那就是自带的获取上传的东西太慢,而且不知道如何修改,其实不然,spring框架既然给我们开放了这个接口,就一定遵从了可扩展性的原则,经过查看org ...

  4. 文件上传ajaxfileupload.js插件

    Html:  <div class="container">         <form id="form" runat="serv ...

  5. Django Ajax学习二之文件上传

    基于Django实现文件上传 1. url路由配置 路径:C:\Users\supery\Desktop\day82\demo_ajax\demo_ajax\urls.py from django.c ...

  6. 用SpringMVC实现的上传下载方式二(多文件上传)

    参考来源:      http://blog.csdn.net/qq_32953079/article/details/52290208 1.导入相关jar包 commons-fileupload.j ...

  7. vue+Ueditor集成 [前后端分离项目][图片、文件上传][富文本编辑]

    后端DEMO:https://github.com/coderliguoqing/UeditorSpringboot 前端DEMO:https://github.com/coderliguoqing/ ...

  8. SpringMVC基础(二)_文件上传、异常处理、拦截器

    实现文件上传 实现文件上传,需要借助以下两个第三方 jar 包对上传的二进制文件进行解析: commons-fileupload commons-io form表单的 enctype 取值必须为:mu ...

  9. Javaweb学习笔记——(二十二)——————文件上传、下载、Javamail

    文件上传概述      1.文件上传的作用          例如网络硬盘,就是用来上传下载文件的.          在网络浏览器中,时常需要上传照片 2.文件上传对页面的要求          上 ...

随机推荐

  1. Java - Java Mail邮件开发(2)springboot +Java Mail + Html

    1.springboot + Java Mail + Html 项目结构: pom.xml <project xmlns="http://maven.apache.org/POM/4. ...

  2. java int转Short

    使用short(xx) problemMultipleChoiceDO.setExamCount((short)0);//在数据库中是smallint类型

  3. tensorflow学习笔记一----------tensorflow安装

    2016年11月30日,tensorflow(https://www.tensorflow.org/)更新了0.12版本,这标志着我们终于可以在windows下使用tensorflow了(但是还是推荐 ...

  4. PyTorch环境配置及安装

    环境配置 温馨提示:为了更好的教程体验,提供视频.阅读地址 Youtube: https://www.youtube.com/playlist?list=PLgAyVnrNJ96CqYdjZ8v9Yj ...

  5. Docker Compose 部署 Redis 及原理讲解 | 懒人屋

    原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解  4.4k  字    16  分钟    2019-10-1 ...

  6. 剑指offer-删除链表中重复的结点-链表-python ***

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

  7. Qradar SIEM--查询利器 AQL

    对于 SIEM 平台来说,好用的查询方式非常重要.之前有体验基于 ELK 搭建的平台,在 kibana 上面是可以通过一些 filter 来做一些过滤并且是支持 lucene 的语法,包括一些简单的逻 ...

  8. vue项目1-pizza点餐系统7-路由之控制滚动行为

    一.在home组件中设置具体信息,设计样式 <template> <div class="row"> <div id="home" ...

  9. NSURLSession断点下载

    #import <Foundation/Foundation.h> @class XHDownLoadManager; #pragma mark - delegate Method @pr ...

  10. SSM框架返回json数据

    常见错误:No converter found for return value of type: class .................. 原因分析:这是因为springmvc默认是没有对象 ...