定義:
Blob() 構(gòu)造函數(shù)返回一個新的 Blob 對象。blob 的內(nèi)容由參數(shù)數(shù)組中給出的值的串聯(lián)組成。
參數(shù)
array 是一個由ArrayBuffer, ArrayBufferView, Blob, DOMString 等對象構(gòu)成的 Array ,或者其他類似對象的混合體,它將會被放進 Blob。DOMStrings 會被編碼為 UTF-8。
options 是一個可選的BlobPropertyBag字典,它可能會指定如下兩個屬性:
type,默認值為 “”,它代表了將會被放入到 blob 中的數(shù)組內(nèi)容的 MIME 類型。
endings,默認值為"transparent",用于指定包含行結(jié)束符\n的字符串如何被寫入。它是以下兩個值中的一個:“native”,代表行結(jié)束符會被更改為適合宿主操作系統(tǒng)文件系統(tǒng)的換行符,或者 “transparent”,代表會保持 blob 中保存的結(jié)束符不變 非標(biāo)準(zhǔn)
示例
var aFileParts = ['<a id="a"><b id="b">hey!</b></a>']; // 一個包含 DOMString 的數(shù)組 可以是dom 數(shù)字 對象 日期等等 都要轉(zhuǎn)成字符串
//例如: let aFileParts = [JSON.stringify({age:18,sex:'男'})]
var oMyBlob = new Blob(aFileParts, {type : 'text/html'}); // 得到 blob 里面的type是 MIME 類型 也就是 前面內(nèi)容的格式 需要轉(zhuǎn)成什么類型的格式
blob轉(zhuǎn)file
let obj = {
age: 18,
sex: '男'
}
let content = JSON.stringify(obj)
// blob類型
let blob = new Blob([content], {
type: 'application/json'
})
// 將blob轉(zhuǎn)成url
let url = URL.createObjectURL(blob) //blob:null/244bec7f-e3d3-43d5-803e-f98cc5c8117f =>鏈接里面的數(shù)據(jù)就是右邊的內(nèi)容 {"age":18,"sex":"男"}
console.log(url)
//blob轉(zhuǎn)file
let filename = '文件名'
var file = new File([blob], filename, {
type: 'application/json',
lastModified: Date.now()
});
//或者
var file1 = new File([content], filename, {
type: 'application/json',
lastModified: Date.now()
});
console.log("文件", file, file1)