HTML5 读取上传文件(转载)
另参考 http://www.jianshu.com/p/46e6e03a0d53
1 filelist对象与file对象:
<input type="file" id="file" multiple> //multiple可上传多个文件
<input type="button" onclick="showFileName()" value="文件上传">
<script>
function showFileName(){
var file; //创建file对象
for(var i;i<document.getElementById("file").files.length;i++){
file = document.getElementById('file').files[i]; //.files
console.log(file.name);
}
}
</script>
2 Blob对象:表示原始的二进制数据,file继承自blob。
- 其属性1:size 表示文件大小
- 属性2:type 表示文件类型 如image/png
var file;
file = document.getElementById("file").files[0];
file.size; //当前上传文件的大小
file.type;
3 Filereader对象
包含5个对象:
- readAsBinaryString 将文件数据读取为二进制数据字符串
- readAsText 将文件数据读取为文本数据
- readAsDataURL 图像路径
- readArrayBuffer
- abort 中断
6个事件:
- onabord
- onerror
- onloadstart
- onload
- onloadend
- onprogress 监听进度
<input type="file" id="file">
<input type='button' value='读取图像‘ onclick='readAsDataURL()'>
<input type='button' value=读取二进制’ onclick=''>
<input type='button value='读取文本文件‘ onclick=''>
<div id='result' name='result>
<script>
var result = document.getElementById('result');
var file = document.getElementById('file'); function readAsDataURL(){
var file = document.getElementById('file').files[0];
var reader = new FileReader(); //创建filereader对象
reader.readAsDataURL(file); //读取图片文件
reader.onload = function(ofile){
var resultimg = document.getElementById('result');
resultimg.innerHTML = '<img src="'+ofile.target.result+'"+alt="">';
}
} function readAsText(){
var file = document.getElementById('file').files[0];
var reader = new FileReader();
reader.readAsText(file); //读取文本内容
reader.onload = function(e){
var resulttxt = document.getElementById('result');
resulttxt.innerHTML = e.target.result;
}
}
</script>
HTML5 读取上传文件(转载)的更多相关文章
- 实践Html5的上传文件
技术点: 1.通过input的change事件获取文件信息: onchange = function() { this.files } 这个files属性是htmlInputElement接口的属性, ...
- C# 结合html5 批量上传文件和图片预览
html5 新特性 <input id="imgsf" type="file" name="imgsf" multiple /> ...
- php 使用html5 XHR2 上传文件 进度显示
思路:只要我们知道上传文件的总大小,还有上传过程中上传文件的大小,那么就可以实现进度显示了. 在html5中,XMLHttpRequest对象,传送数据的时候,progress事件用来返回进度信息. ...
- 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 ...
随机推荐
- 安卓开发_浅谈ListView(自定义适配器)
ListView作为一个实际开发中使用率非常高的视图,一般的系统自带的适配器都无法满足开发中的需求,这时候就需要开发人员来自定义适配器使得ListView能够有一个不错的显示效果 有这样一个Demo ...
- IDEA报错: Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.datasource.url' in value "${spring.datasource.url}"
运行审核流模块: 在ActivitiServiceApplication模块日志报错: Error starting ApplicationContext. To display the auto-c ...
- vue路由的配置
一.准备工作 1安装vue-cli npm install vue-cli -g 2检查是否安装成功 vue -V(大写V) 3初始化一个新的项目 vue init webpack vue-dem ...
- MongoDB的基本操作:服务端启动,客户端连接,CRUD操作
本文内容: MongoDB的介绍 MongoDB服务端的启动 MongoDB客户端连接 SQL与MongoDB相关概念解释 什么是BSON 数据库操作 集合操作 文档操作 测试环境:win10 软件版 ...
- 软件工程-CMM与CMMI
CMM CMMI
- JSON数据提取
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.JSON在数据交换中起到了一个载体的作用 ...
- Linux 小知识翻译 - 「模块」
说起module(模块),有的像「可热插拔的零部件」的意思. 在讨论Linux时提到的模块一般是指可以组装到内核中的模块. 模块这个概念是在硬件和程序设计领域中广泛使用的概念.我们这次说的模块特指Li ...
- January 31st, 2018 Week 05th Wednesday
Real love is not just instinct, but intent. 真正的爱不是身体上的一见钟情,而是要用心去经营. What is real love? Honestly, I ...
- linux位数查看
#getconf LONG_BIT
- 【美妙的Python之三】Python 对象解析
美妙的Python之Python对象 简而言之: Python 是能你无限惊喜的语言.与众不同. Python对象概念的理解,是理解Python数据存储的前提.Pyth ...