实践Html5的上传文件
技术点:
1.通过input的change事件获取文件信息:
onchange = function() {
this.files
}
这个files属性是htmlInputElement接口的属性,只存在于现代浏览器中(ie10)
2.文件对象中的文件信息
https://developer.mozilla.org/zh-CN/docs/Web/API/File
主要是name,size,type这三个属性
3.dom对象的classList属性
https://developer.mozilla.org/zh-CN/docs/Web/API/Element/classList
把属性的className对象化,不用再像以前使用拼接字符串的方式操作。
4.使用FileReader异步读取本地文件或文件对象
https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader
5.使用FormData新建传递到ajax的对象,可以传递文件对象
整体流程:
1.上传文件控件绑定change事件
2.通过change事件的触发,获得inputDom的files属性,也就是上传的文件信息。
3.通过fileReader读取file,获得用于展示的dataURl,这样在上传成功前可以看到预览图片
4.通过var form = new FormData(); form.append("key", "value")的形式传递数据到后台,这样就把本地文件通过ajax上传了。
5.后台处理,可以自己处理流,我用的是formidable控件。
实践Html5的上传文件的更多相关文章
- C# 结合html5 批量上传文件和图片预览
html5 新特性 <input id="imgsf" type="file" name="imgsf" multiple /> ...
- php 使用html5 XHR2 上传文件 进度显示
思路:只要我们知道上传文件的总大小,还有上传过程中上传文件的大小,那么就可以实现进度显示了. 在html5中,XMLHttpRequest对象,传送数据的时候,progress事件用来返回进度信息. ...
- HTML5 读取上传文件(转载)
另参考 http://www.jianshu.com/p/46e6e03a0d53 1 filelist对象与file对象: <input type="file" id=&q ...
- jQuery+HTML5实现上传文件预览
<!DOCTYPE html> <html> <head> <title>HTML5上传图片预览</title> <meta http ...
- html5 file 上传文件
<body> <header> <h2>Pure HTML5 file upload</h2> </header> <div clas ...
- 【ASP.NET MVC】HTML5+MVC上传文件显示进度
head> <title>Index</title> <style type="text/css"> #statusBorder { po ...
- HTML5 jQuery+FormData 异步上传文件,带进度条
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link href ...
- Ajax方式上传文件
用到两个对象 第一个对象:FormData 第二个对象:XMLHttpRequest 目前新版的Firefox 与 Chrome 等支持HTML5的浏览器完美的支持这两个对象,但IE9尚未支持 For ...
- HTML5关于上传API的一些使用(上)
HTML5提供了很多有用的API,其中就包括上传的API,XMLHttpRequest2.0,在HTML5时代之前,需要进行二进制的上传一般都会才用flash的方案,但是当XMLHttpRequest ...
随机推荐
- QT_地图导航
//地图显示功能 #ifndef MAPWIDGET_H #define MAPWIDGET_H #include <QGraphicsView> #include <QLabel& ...
- NoSQL与RDBMS的九点区别联系
原文链接:http://blog.sina.com.cn/s/blog_5373fb0b0101ft8a.html 1 理解ACID与BASE的区别(ACID是关系型数据库强一致性的四个要求, ...
- tp框架之分页与第三方类的应用
1.先把分页类放在根目录下,比如放在某个模块下 2.在类里面写入命名空间,注意类名的格式(类名要与里面的方法名一致) 3.在需要的方法里面按照路径进行实例化,然后就可以使用了 方法: public f ...
- Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备四)
接下来,分析uilib.h中的WinImplBase.h和UIManager.h: WinImplBase.h:窗口实现基类,已实现大部分的工作,基本上窗口类均可直接继承该类,可发现该类继承于多个类, ...
- 使用dd命令备份Linux分区
为了备份分区,开始使用的是Remastersys,但最终生成的iso文件仅有几十K,应该是软件bug,且此软件不再更新,后尝试使用Linux Respin,但github一直连接不上. 其实可以尝试使 ...
- CSS3 波浪简单模拟--我是波浪,我有起伏,有大波与小波(坏笑中...)
我是波浪,我有起伏,我有大波与小波(坏笑中...) 最近改版网站,一般也不会去写动画,但是有些网站还是需要的,故拿出一个较简单的动画出来分享,很简单很简单. 原理简单阐述 其实很简单,使用一张美工做好 ...
- iphone 尺寸and字体
iPhone的APP界面一般由四个元素组成,分别是:状态栏.导航栏.主菜单栏以及中间的内容区域 这里取用 640×960 的尺寸设计,那我们就说说在这个尺寸下这些元素的尺寸: 状态栏:就是我们经常说的 ...
- windowsservice
1.创建 windows服务 项目 文件 -> 新建项目 -> 已安装的模板 -> Visual C# -> windows ,在右侧窗口选择"windows 服务 ...
- [转]Windows7文件夹转移清理臃肿的C盘
当你使用Windows的时候,你会发现无论哪个版本的Windows,系统都会默认将用户文件夹和程序数据文件夹(xp下是Documents and Settings文件夹,而windows7和vista ...
- select2插件不兼容ie7,ie7下样子显示错位问题
1.源文件(未修改) select2.min.css.select2.min.js 2.ie7下显示样式: 3.ie8下显示样式: 4.经查看发现ie7下对一些属性的解析和ie8不同,需对ie7另作h ...