我们可以从词源角度拆解HTML5的FileReader接口的5种核心方法:
一、readAsText
词源拆解
read:源自古英语rǣdan,意为“阅读、朗读”,后演变为表示“读取数据”的含义,在计算机领域中用来指代从存储介质或数据流中提取内容。As:是介词“as”的缩写形式,在这里表示“以……的方式”,用来指定读取数据的格式。Text:源自拉丁语textus,意为“编织、文本”,在计算机中指代纯文本格式的数据。
整体含义
从词源来看,readAsText就是“以文本的方式读取”,它会将文件内容按照文本编码解析,返回字符串形式的结果,方便开发者直接读取文本文件的内容。
二、readAsBinaryString
词源拆解
Binary:源自拉丁语binarius,意为“二进制的、成对的”,在计算机领域中指代由0和1组成的二进制数据。String:源自古英语streng,意为“绳子、字符串”,在计算机中用来表示由字符组成的序列。
整体含义
readAsBinaryString即“以二进制字符串的方式读取”,它会将文件内容按照二进制数据解析,然后将每个字节转换为对应的字符,返回一个包含二进制数据的字符串,适合处理二进制格式的文件,比如图片、音频等。
三、readAsDataURL
词源拆解
Data:源自拉丁语datum,意为“数据、事实”,在计算机中指代存储的信息。URL:是“Uniform Resource Locator”的缩写,意为“统一资源定位符”,用来标识网络上的资源位置。
整体含义
readAsDataURL即“以数据URL的方式读取”,它会将文件内容编码为Base64格式的字符串,然后将其封装在一个DataURL中返回,这样可以直接在网页中使用这个DataURL来展示文件内容,比如将图片文件转换为DataURL后可以直接在<img>标签的src属性中使用。
四、readAsArrayBuffer
词源拆解
Array:源自拉丁语arrius,意为“排列、数组”,在计算机中用来表示一种有序的数据集合。Buffer:源自法语buffet,意为“缓冲、缓冲区”,在计算机中指代临时存储数据的区域。
整体含义
readAsArrayBuffer即“以数组缓冲区的方式读取”,它会将文件内容读取为一个ArrayBuffer对象,这是一种用于存储原始二进制数据的类型,开发者可以对其进行进一步的处理,比如使用TypedArray视图来解析其中的数据。
五、abort
词源拆解
abort:源自拉丁语abortionem,原意是“流产、中止”,后引申为“终止、放弃”,在计算机领域中用来表示中止正在进行的操作。
整体含义
abort方法的作用就是中止正在进行的文件读取操作,当调用这个方法后,FileReader对象会立即停止读取文件,并触发abort事件,开发者可以通过监听这个事件来处理读取中止后的逻辑。
补充说明
在实际开发中,当需要提前终止文件读取时,就可以调用这个方法,比如用户在文件读取过程中点击了取消按钮,就可以通过abort方法来中止读取,避免不必要的资源消耗。