HTML5文件读取

我们想: 可以吧上传的文件,内容显示到页面? 或者 上传完毕图片显示缩略图到页面上。
通过FileReader对象我们可以读取本地存储的文件,使用 File 对象来指定所要读取的文件或数据。其中File对象可以是来自用户在一个 元素上选择文件后返回的FileList 对象,也可以来自由拖放操作生成的 DataTransfer
3.1 Files对象
由于HTML5中我们可以通过为表单元素添加multiple属性,因此我们通过上传文件后得到的是一个Files对象(伪数组形式)。
3.2FileReader对象
HTML5新增内建对象,可以读取本地文件内容。var reader = new FileReader; 可以实例化一个对象
实例方法
1、readAsDataURL() 以DataURL形式读取文件
事件监听
onload 当文读取完成时调用
属性
result 文件读取结果
生成缩略图

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <input type="file" name="" id="" multiple > 
 <img src="" alt="" width="100">
 <script>
 // 我们想:  可以吧上传的文件,内容显示到页面?  或者 上传完毕图片显示缩略图到页面上。。。
 // 1. 上传我们的文件  借助于 文件域  input file 
 //
 var file = document.querySelector("input");
 var img = document.querySelector("img");
 file.onchange = function() { //  onchange 当发生改变的时候   下拉菜单 select 也是这个事件
  // console.log("选择了文件");
  // console.log(file); 
  // for( var k in file) {
  //  console.log( k + "~~~~" + file[k]);
  // }
  console.log(this.files);   // 上传文件的集合 可以是一个文件也可以是很多
  // 2. 选择我们要的文件, 进行 读取  fileReader  文件里面的内容
  // 初始化了一个 reader 对象 
  var reader = new FileReader();  
   // reader.readAsText(文件对象);
   // 读取 this.files[0] 文件里面的内容
   reader.readAsDataURL(this.files[0]);  
    // 当这个文件的内容读取完毕之后 ,会把内容存放到  result里面    
    // 3. 把读取的内容显示到 页面中..
    // reader 已经读取完毕 而且读取的内容 存放到了  result里面了 
    reader.onload = function() {
      // console.log(this.result);
      // 把生成的内容 赋值给 图片 src  
      img.src = this.result;
    }  
 }
 </script>
</body>
</html>

显示记事本内容

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <input type="file" name="" id="" multiple > 
 <div></div>
 <script>
 // 我们想:  可以吧上传的文件,内容显示到页面?  或者 上传完毕图片显示缩略图到页面上。。。
 // 1. 上传我们的文件  借助于 文件域  input file 
 //
 var file = document.querySelector("input");
 var div = document.querySelector("div");
 file.onchange = function() { //  onchange 当发生改变的时候   下拉菜单 select 也是这个事件
  // console.log("选择了文件");
  // console.log(file); 
  // for( var k in file) {
  //  console.log( k + "~~~~" + file[k]);
  // }
  console.log(this.files);   // 上传文件的集合 可以是一个文件也可以是很多
  // 2. 选择我们要的文件, 进行 读取  fileReader  文件里面的内容
  // 初始化了一个 reader 对象 
  var reader = new FileReader();  
   // reader.readAsText(文件对象);
   // 读取 this.files[0] 文件里面的内容
   reader.readAsText(this.files[0]);  
    // 当这个文件的内容读取完毕之后 ,会把内容存放到  result里面    
    // 3. 把读取的内容显示到 页面中..
    // reader 已经读取完毕 而且读取的内容 存放到了  result里面了 
    reader.onload = function() {
      div.innerHTML = this.result;
    }   
 }
 </script>
</body>
</html>
发布了155 篇原创文章 · 获赞 16 · 访问量 5913

猜你喜欢

转载自blog.csdn.net/qq_44797965/article/details/104329384