本文主要为大家介绍了js二进制数据及其互相转化实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助。
file
在js中有很多二进制数据,有file,base64,Blob,ArrayBuffer,FileReader。这些二进制数据在文件导出和下载的时候是经常会用到的,我们这篇文章就是介绍这些二进制数据以及它们之间的转化。
文件(File)接口提供有关文件的信息,并允许网页中的 JavaScript 访问其内容。实际上,File 对象是特殊类型的 Blob,且可以用在任意的 Blob 类型的 context 中。Blob 的属性和方法都可以用于 File 对象。
file文件
file文件一般有两种来源
<input>
元素上选择文件后返回的 FileList 对象;- 文件拖放操作生成的
DataTransfer
对象;
每个 File
对象都包含以下属性,这些属性都继承自 Blob 对象:
lastModified
:引用文件最后修改日期,为自1970年1月1日0:00以来的毫秒数;lastModifiedDate
:引用文件的最后修改日期;name
:引用文件的文件名;size
:引用文件的文件大小;type
:文件的媒体类型(MIME);webkitRelativePath
:文件的路径或 URL。
base64
Base64 是一种基于64个可打印字符来表示二进制数据的表示方法。Base64 编码普遍应用于需要通过被设计为处理文本数据的媒介上储存和传输二进制数据而需要编码该二进制数据的场景。这样是为了保证数据的完整并且不用在传输过程中修改这些数据。
Blob
Blob 对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,也可以转换成 ReadableStream 来用于数据操作。
也就是说blob对象是原始二进制数据对象,是不可修改的。
blob的用法
1 |
|
array
:由 ArrayBuffer
、ArrayBufferView
、Blob
、DOMString
等对象构成的,