[JavaScript] 使用ArrayBuffer和Blob编辑二进制流 下载文件


   ArrayBuffer
又称类型化数组

  1. 数组里面可以放数字、字符串、布尔值以及对象和数组等,ArrayBuffer放0和1组成的二进制数据
  2. 数组放在堆中,ArrayBuffer则把数据放在栈中(所以取数据时后者快)
  3. ArrayBuffer初始化后固定大小,数组则可以自由增减。(准确的说,视图才应该跟数组来比较这个特点)

    BLOB:

    Blob,Binary Large Object的缩写,代表二进制类型的大对象。

    Blob对象是二进制数据,但它是类似文件对象的二进制数据,因此可以像操作File对象一样操作Blob对象,实际上,File继承自Blob。

    可以通过Blob的构造函数创建Blob对象:Blob(blobParts[, options])

    参数说明:

    blobParts:数组类型,数组中的每一项连接起来构成Blob对象的数据,数组中的每项元素可以是ArrayBufferArrayBufferViewBlobDOMString 。

    options:可选项,字典格式类型,可以指定如下两个属性:

    • type,默认值为 "",它代表了将会被放入到blob中的数组内容的MIME类型。

    • endings,默认值为"transparent",用于指定包含行结束符\n的字符串如何被写入。 它是以下两个值中的一个: "native",表示行结束符会被更改为适合宿主操作系统文件系统的换行符; "transparent",表示会保持blob中保存的结束符不变。

     
    请求头相应参数:
    headers: {
    'Content-Type': 'application/json'
    },
    responseType: 'blob' || ‘arraybuffer’

猜你喜欢

转载自www.cnblogs.com/SnowyDong/p/9467535.html