摘要:此方法的图片不会通过服务器即可预览,可以减轻服务器压力.FileReader接口事件的用法有四种,其中前三种是读取文件,最后一种是中断读取.

小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

Demo

 <!DOCTYPE html>   <html lang="en">      <head>       <meta charset="UTF-8">       <meta name="viewport" content="width=device-width, initial-scale=1.0">       <meta http-equiv="X-UA-Compatible" content="ie=edge">       <title>图片预览</title>   </head>      <body>       <input type="file">       <img src="">   </body>      </html>   <script>       var input = document.querySelector('input');       input.onchange = function () {           //1. 拿到文件 File对象 ,files还是文件列表list,files[0]才是要的对象           var file = this.files[0];           //2. FileReader是接口,创建一个fileReader的对象就可以拿到原型中的方法(有四种)           var base64 = new FileReader();           //3. 开始读取文件,读取的是base64的值           base64.readAsDataURL(file);           //4. 因为读取文件需要时间,所以要在回调函数中使用读取的结果           base64.onload= function(){               document.querySelector('img').src = base64.result;           };       }   </script>  

此方法的图片不会通过服务器即可预览,可以减轻服务器压力.

FileReader接口事件的用法有四种,其中前三种是读取文件,最后一种是中断读取.

方法名 参数 描述
readAsBinaryString file 将文件读取为二进制编码
readAsText file,[encoding] 将文件读取为文本
readAsDataURL file 将文件读取为DataURL
abort (none) 终端读取操作

FileReader不会返回读取结果,结果保存在result中,所以要在回调中读取结果(读取失败为null).详细看代码注释.

Demo

 <!DOCTYPE html>   <html lang="en">      <head>       <meta charset="UTF-8">       <meta name="viewport" content="width=device-width, initial-scale=1.0">       <meta http-equiv="X-UA-Compatible" content="ie=edge">       <title>图片预览</title>   </head>      <body>       <input type="file">       <img src="">   </body>      </html>   <script>       var input = document.querySelector('input');       input.onchange = function () {           //1. 拿到文件 File对象 ,files还是文件列表list,files[0]才是要的对象           var file = this.files[0];           //2. FileReader是接口,创建一个fileReader的对象就可以拿到原型中的方法(有四种)           var base64 = new FileReader();           //3. 开始读取文件,读取的是base64的值           base64.readAsDataURL(file);           //4. 因为读取文件需要时间,所以要在回调函数中使用读取的结果           base64.onload= function(){               document.querySelector('img').src = base64.result;           };       }   </script>  

此方法的图片不会通过服务器即可预览,可以减轻服务器压力.

FileReader接口事件的用法有四种,其中前三种是读取文件,最后一种是中断读取.

方法名 参数 描述
readAsBinaryString file 将文件读取为二进制编码
readAsText file,[encoding] 将文件读取为文本
readAsDataURL file 将文件读取为DataURL
abort (none) 终端读取操作

FileReader不会返回读取结果,结果保存在result中,所以要在回调中读取结果(读取失败为null).详细看代码注释.

觉得可用,就经常来吧!Javascript技巧 脚本宝典 欢迎评论哦! js技巧,巧夺天工,精雕玉琢。小宝典献丑了!

本文固定链接: http://www.js-code.com/js/js_1327.html