js利用FileReader读取本地文件或者blob 您所在的位置:网站首页 文件转blob js利用FileReader读取本地文件或者blob

js利用FileReader读取本地文件或者blob

2023-12-01 08:50| 来源: 网络整理| 查看: 265

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/blob

result属性中返回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 实验室设备网 版权所有