html5 带进度上传

  1. function fileSelected() {
  2. var file = document.getElementById('fileToUpload').files[0];
  3. if (file) {
  4. var fileSize = 0;
  5. if (file.size > 1024 * 1024)
  6. fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB';
  7. else
  8. fileSize = (Math.round(file.size * 100 / 1024) / 100).toString() + 'KB';
  9.  
  10. document.getElementById('fileName').innerHTML = 'Name: ' + file.name;
  11. document.getElementById('fileSize').innerHTML = 'Size: ' + fileSize;
  12. document.getElementById('fileType').innerHTML = 'Type: ' + file.type;
  13. }
  14. }
  15.  
  16. function uploadFile() {
  17. var fd = new FormData();
  18. fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
  19. var xhr = new XMLHttpRequest();
  20. xhr.upload.addEventListener("progress", uploadProgress, false);
  21. xhr.addEventListener("load", uploadComplete, false);
  22. xhr.addEventListener("error", uploadFailed, false);
  23. xhr.addEventListener("abort", uploadCanceled, false);
  24. xhr.open("POST", "test2.php");
  25. xhr.send(fd);
  26. }
  27.  
  28. function uploadProgress(evt) {
  29. if (evt.lengthComputable) {
  30. var percentComplete = Math.round(evt.loaded * 100 / evt.total);
  31. document.getElementById('progressNumber').innerHTML = percentComplete.toString() + '%';
  32. }
  33. else {
  34. document.getElementById('progressNumber').innerHTML = 'unable to compute';
  35. }
  36. }
  37.  
  38. function uploadComplete(evt) {
  39. /* This event is raised when the server send back a response */
  40. alert(evt.target.responseText);
  41. }
  42.  
  43. function uploadFailed(evt) {
  44. alert("There was an error attempting to upload the file.");
  45. }
  46.  
  47. function uploadCanceled(evt) {
  48. alert("The upload has been canceled by the user or the browser dropped the connection.");
  49. }

xmlhttprequest upload的更多相关文章

  1. XMLHttpRequest upload属性

    一.新版本的XMLHttpRequest对象,传送数据的时候,有一个progress事件,用来返回进度信息. 它分成上传和下载两种情况 1)下载的progress事件属于XMLHttpRequest对 ...

  2. JS XMLHttpRequest.upload.addEventListener 传参,回调

    JS 回调函数,传参的办法. function uploadFile(t) { var fd = new FormData(); fd.append("_netLogo", doc ...

  3. 大熊君学习html5系列之------XHR2(XMLHttpRequest Level 2)

    一,开篇分析 Hi,大家好!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例, 让大家一步一步的体会" ...

  4. 详细解读XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度

    本文主要参考:MDN 分析并操作 responseXML属性 如果你使用 XMLHttpRequest 来获得一个远程的 XML 文档的内容,responseXML 属性将会是一个由 XML 文档解析 ...

  5. 【JavaScript】XMLHttpRequest Level2使用指南

    XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信. 最早,微软在IE 5引进了这个接口.因为它太有用,其他浏览器也模仿部署了,ajax操作因此得以诞生. ...

  6. 【JavsScript】XMLHttpRequest Level 2 使用指南

    XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信. 最早,微软在IE 5引进了这个接口.因为它太有用,其他浏览器也模仿部署了,ajax操作因此得以诞生. ...

  7. XMLHttpRequest Level 2 使用指南

    XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信. 最早,微软在IE 5引进了这个接口.因为它太有用,其他浏览器也模仿部署了,ajax操作因此得以诞生. ...

  8. jQuery File Upload

    jQuery File Upload介绍.............................................. 2 实现基本原理......................... ...

  9. XMLHttpRequest上传文件实现进度条

    话不多说,直接上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

随机推荐

  1. 树形DP ---- Codeforces Global Round 2 F. Niyaz and Small Degrees引发的一场血案

    Aspirations:没有结果,没有成绩,acm是否有意义?它最大的意义就是让我培养快速理解和应用一个个未知知识点的能力. ————————————————————————————————————— ...

  2. Delphi中 弹出框的用法

    Delphi中的提示框有 Application.MessageBox  ShowMessage messagedlg 个人认为 相对来说 Application.MessageBox 更加灵活 也相 ...

  3. Selenium--数据驱动(python)

    前言: 什么是数据驱动? 从它的本意来解释,就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.说人话,其实就是参数化. 本次介绍2种文件驱动:ini文件和yaml文件 一.ini文件 1 ...

  4. Vue 入门之 Vuex 实战

    Vue 入门之 Vuex 实战 引言 Vue 组件化做的确实非常彻底,它独有的 vue 单文件组件也是做的非常有特色.组件化的同时带来的是:组件之间的数据共享和通信的难题. 尤其 Vue 组件设计的就 ...

  5. 第十一周PSP&进度条

    PSP 一.表格: D日期     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 11月24号 站立会议 分配任务&设计final方案 1 ...

  6. 正则的replace函数传参使用

    <script> var str = "a1ba2b"; var reg = /a.b/g; str = str.replace(reg,function(a,b){ ...

  7. mysql 存储过程中结尾分割符修改

    mysql中修改命令结束符delimiter的用法:mysql中的delimiter会告诉MySQL解释器,命令的结束符是什么,默认情况下MySQL的命令是以分号(;)结束的.在遇到(;)时,MySQ ...

  8. Study From DevOps 学习交流会议

    1.今天下午参加了 软件集团的 爱城市的devops的沟通会议,了解到他们是通过bash的方式来执行jenkins的build以及创建 jenkins的 project 等内容.晚上回来简单实验了下. ...

  9. 位运算卷积-FWT

    问题 给出两个幂级数 \(f,g\) ,求 \[ h=\sum _i\sum _jx^{i\oplus j}f_ig_j \] 其中 \(\oplus\) 是可拆分的位运算. 算法 由于位运算具有独立 ...

  10. 洛谷 P2765 魔术球问题 解题报告

    P2765 魔术球问题 题目描述 问题描述: 假设有\(n\)根柱子,现要按下述规则在这\(n\)根柱子中依次放入编号为\(1,2,3,\dots\)的球. \((1)\) 每次只能在某根柱子的最上面 ...