另参考 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 读取上传文件(转载)的更多相关文章

  1. 实践Html5的上传文件

    技术点: 1.通过input的change事件获取文件信息: onchange = function() { this.files } 这个files属性是htmlInputElement接口的属性, ...

  2. C# 结合html5 批量上传文件和图片预览

    html5 新特性 <input id="imgsf" type="file" name="imgsf" multiple /> ...

  3. php 使用html5 XHR2 上传文件 进度显示

    思路:只要我们知道上传文件的总大小,还有上传过程中上传文件的大小,那么就可以实现进度显示了. 在html5中,XMLHttpRequest对象,传送数据的时候,progress事件用来返回进度信息. ...

  4. jQuery+HTML5实现上传文件预览

    <!DOCTYPE html> <html> <head> <title>HTML5上传图片预览</title> <meta http ...

  5. html5 file 上传文件

    <body> <header> <h2>Pure HTML5 file upload</h2> </header> <div clas ...

  6. 【ASP.NET MVC】HTML5+MVC上传文件显示进度

    head> <title>Index</title> <style type="text/css"> #statusBorder { po ...

  7. HTML5 jQuery+FormData 异步上传文件,带进度条

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link href ...

  8. Ajax方式上传文件

    用到两个对象 第一个对象:FormData 第二个对象:XMLHttpRequest 目前新版的Firefox 与 Chrome 等支持HTML5的浏览器完美的支持这两个对象,但IE9尚未支持 For ...

  9. HTML5关于上传API的一些使用(上)

    HTML5提供了很多有用的API,其中就包括上传的API,XMLHttpRequest2.0,在HTML5时代之前,需要进行二进制的上传一般都会才用flash的方案,但是当XMLHttpRequest ...

随机推荐

  1. AWT初步— 事件处理模型

    之前学习的内容只能形成一个用户界面,而用户不能对其有实际的操作,也就是说用户界面没有任何功能.要能够让图形界面接收用户的操作,就必须给各个组件加上事件处理机制.在事件处理的过程中,主要涉及三类对象: ...

  2. 安卓开发_关于WebView加载页面空白问题

    依据我自己的测试,发现有时候用APP打开网页的时候,有的网页加载成功之前需要很久,有的一下就出来了(比如百度) 当加载时间过长的情况下,这时候显示的是空白界面,其实不是代码问题,只是要打开的这个网页太 ...

  3. Android spinner默认样式不支持换行和修改字体样式的解决方法

    在spinner中显示的数据过多,需要换行,而Android自身提供的android.R.layout.simple_spinner_dropdown_item样式不支持换行,因此参考android提 ...

  4. okhttp 的使用

    ①在OK HTTP 的GitHub上下载  jar 包 或者添加 grad'le依赖  OK HTTP 的地址 : https://github.com/square/okhttp ②导入jar包不想 ...

  5. (网页)javaScript增删改查(转)

    转自CSDN: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...

  6. persist与checkpoint

    1.当反复使用某些RDD时建议使用persist(缓存级别)(采用默认缓存级别时为cache())来对数据进行缓存. 2.如果某个步骤的RDD计算特别耗时或经历很多步骤的计算,当重新计算时代价特别大, ...

  7. linq Distinct 自定义去重字段

    一.定义 1.Falcon_PumpX_Equal_Comparer :类名,随便取名 2.IEqualityComparer:必须继承这个接口 3.Falcon_PumpX:需要去重的对象 4.IE ...

  8. 合理配置SQLSERVER内存

    合理配置SQLSERVER内存 原文地址:https://www.cnblogs.com/lyhabc/archive/2012/09/28/2707857.html SQLSERVER是个很喜欢内存 ...

  9. 【PAT】B1058 选择题(20 分)

    这道题的逻辑怪复杂的,写起来蛮费时间的 结构体中要储存的信息多,整体不难,信息量大,容易把人搞蒙 #include<stdio.h> #include<string.h> #i ...

  10. ccf-20160903--炉石传说

    本题思路如下图: 题目和代码如下: 问题描述 试题编号: 201609-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 <炉石传说:魔兽英雄传& ...