js利用FileReader读取本地文件或者blob | 您所在的位置:网站首页 › 文件转blob › js利用FileReader读取本地文件或者blob |
FileReader对象提供了异步读取存储在用户计算机上的文件的内容,使用 File或 Blob 对象指定要读取的文件或数据,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。 一、FileReader的使用 注意:如果需要兼容低版本的浏览器,需要判断一下FileReader对象是否存在。 if (window.FileReader) { let reader = new FileReader(); } else { console.log('你的浏览器不支持读取文件'); }二、FileReader的方法 方法作用参数返回值abort()中止读取操作nonenonereadAsArrayBuffer()读取file和Blob内容file/blobresult属性中返回ArrayBuffer数据对象的文件内容readAsBinaryString()[已被W3废弃]读取file和Blob内容file/blobresult属性中返回原始二进制数据的文件内容readAsDataURL()读取file和Blob内容file/blobresult属性中返回data:URL格式的Base64字符串的文件内容 readAsText()读取file和Blob内容file/blobresult属性中返回一个字符串的文件内容三、FileReader的属性 1、FileReader.error(只读):一个异常,表示在读取文件时发生的错误 2、FileReader.readyState(只读):表示FileReader状态的数字 值状态名描述0EMPTY未加载任何数据1LOADING数据加载中2DONE数据加载完毕 3、FileReader.result(只读):读取完文件的内容,该属性在数据读取完成之后才有效,文件内容的格式是由读取的方法所决定。 四、FileReader的事件 1、FileReader.onabort:该事件是中止读取的时候触发。 2、FileReader.onerror:该事件是读取发生错误的时候触发。 3、FileReader.onload:该事件是读取完成的时候触发。 4、FileReader.onloadstart:该事件是读取操作刚开始的时候触发。 5、FileReader.onloadend:该事件是读取结束的时候触发(失败和成功的时候都会触发)。 6、FileReader.onprogress:该事件在读取的时候触发。 注意: 1、由于安全性原因,FileReader读取的是由input传入的文件或者是由ajax读取服务端返回的文件,不可以是指定路径的文件的读取。 2、FileReader可以在webworker中使用。 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); } };
|
CopyRight 2018-2019 实验室设备网 版权所有 |