在文件上传之前,我们总想预览一下文件内容,或图片样子,html5 中FileReader正好提供了2种方法,可以在不上传文件的情况下,预览文件内容。

图片预览:readAsDataURL(file);

文件预览:readAsText();(必须保证文件编码格式与代码编码格式相同,预览中文才不会乱码)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML5练习</title>
<style type="text/css"> </style>
</head>
<body>
<input type = file id = 'file'/>
<input type = button onclick = 'readImg()' value = '读取图像'/>
<input type = button onclick = 'readFile()' value = '读取文件'/>
<div id = 'result'></div>
<script language = 'javascript'>
function showFileName(){
var files = document.getElementById('file').files;
var file;
for(var i = 0, len = files.length; i < len; i++){
file = files[i];
console.log(file.name);
}
} function readImg(){
var file = document.getElementById('file').files[0];
if(!/image\/\w+/.test(file.type)){
alert("请确保文件为图像类型!");
return false;
}
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(e){
var result = document.getElementById('result');
result.innerHTML = "<img src = '"+this.result+"' alt = ''/>";
};
} function readFile(){
var file = document.getElementById('file').files[0];
var reader = new FileReader();
reader.readAsText(file);
reader.onload = function(f){
var result = document.getElementById('result');
result.innerHTML = this.result;
}
} </script>
</body>
</html>

最新文章

  1. MVC框架三大模块
  2. OC NSNumber NSValue
  3. Linux安全之——Ubuntu的iptable命令使用
  4. ASP.NET开发在JavaScript有中文汉字时出现乱码时简单有效的解决
  5. nodejs学习[持续更新]
  6. 项目总结之SSI (一)
  7. 【LeetCode】220. Contains Duplicate III
  8. 对抗栈帧地址随机化/ASLR的两种思路和一些技巧
  9. java_IO流读取本地文件
  10. sdoi2018旧试题 证明
  11. qr-mili Tekniskt st&#246;d
  12. Bootstrap中的datetimepicker用法
  13. HDU 5178 pairs【二分】||【尺取】
  14. JS运算符问题
  15. linux --nginx篇
  16. 嵌入式开发之hi3519---进程线程间的同步和互斥,条件变量、信号了、互斥锁等
  17. cad 关键字被保留了?选择集关键字保留了? N S W E关键字无法用?
  18. 每日英语:Got a Case of the Mondays? Blame the Sunday Blues
  19. SQLSERVER 函数大全
  20. WIN 10系统下,在DOS窗口输入Java或者javac出现乱码的解决方法

热门文章

  1. postgresql-分页重复数据探索
  2. Python内置类型(5)--迭代器类型
  3. Java排序方法sort的使用详解(转)
  4. 211. Orchard学习 二 2、ManualResetEvent 与 AutoResetEvent
  5. 深入理解kafka设计原理
  6. js常用面试题整理
  7. SSM框架、Druid连接池实现多数据源配置(已上线使用)
  8. Java提高篇之理解java的三大特性——继承
  9. 域名系统DNS简介
  10. Docker入门之一Docker在Window下安装