new Blob()詳解以及blob轉(zhuǎn)file

定義:
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)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容