在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
FileReader读取本地文件或blobFileReader对象提供了异步读取存储在用户计算机上的文件的内容,使用 File或 Blob 对象指定要读取的文件或数据,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。 一、FileReader的使用注意:如果需要兼容低版本的浏览器,需要判断一下FileReader对象是否存在。 if (window.FileReader) { let reader = new FileReader(); } else { console.log('你的浏览器不支持读取文件'); } 二、FileReader的方法
三、FileReader的属性
四、FileReader的事件
注意: 1、由于安全性原因,FileReader读取的是由input传入的文件或者是由ajax读取服务端返回的文件,不可以是指定路径的文件的读取。 2、FileReader可以在webworker中使用。 <!DOCTYPE html> <html class="no-js"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title></title> <meta name="description" content="" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="" /> </head> <body> <input type="file" id="myFile" /> <script type="text/javascript"> if (window.FileReader) { var reader = new FileReader(); } else { console.log('你的浏览器不支持读取文件'); } var myFile = document.querySelector('#myFile'); myFile.onchange = function () { var file = myFile.files[0]; reader.readAsDataURL(file); reader.onload = function () { var data = reader.result; //base64形式的文件内容 }; reader.onerror = function(){ console.log('读取失败'); console.log(reader.error); } }; </script> </body> </html> 使用FileReader读取本地磁盘文件问题执行一个js文件 (将js文件置于项目的src下) (1) java.net.URL url = TestScriptEngine.class.getClassLoader().getResource("a.js"); (2)//System.out.println(url.getPath().substring(1).replace("%20", " ")); (3)FileReader fileReader = new FileReader(url.getPath()); 运行时
若把url.getPath()换成"D:/Eclipse WorkSpace/(java300)ScriptManager/bin/a.js"我的本地文件目录,则可以成功读取文件 url.getPath()的值为: D:\Eclipse%20WorkSpace\(java300)ScriptManager\bin\a.js 但是不能找到加载文件 问题就出现在“%20” ,Eclipse WorkSpace之间本来是空格,系统自动将其换为%20,导致运行是出错 对url.getPath()作一些处理,把url.getPath().substring(1).replace("%20", " "); 把%20替换为" "空格;问题解决 以上为个人经验,希望能给大家一个参考,也希望大家多多支持极客世界。 |
请发表评论