在開發(fā)web應(yīng)用時(shí),經(jīng)常需要處理blob數(shù)據(jù)格式,而將blob轉(zhuǎn)換成json是常見的操作之一。不過,在兼容IE瀏覽器的同時(shí)進(jìn)行blob轉(zhuǎn)json處理則需要注意一些問題。
首先,需要使用FileReader對象讀取blob數(shù)據(jù)。具體代碼如下:
var reader = new FileReader(); reader.readAsText(blob, 'UTF-8'); reader.onload = function (e) { var result = JSON.parse(e.target.result); };
以上代碼適用于現(xiàn)代瀏覽器,但是在IE中,需要使用ActiveX。
var reader = new ActiveXObject("ADODB.Stream"); reader.Type = 1; reader.Open(); reader.LoadFromFile(blob); var result = JSON.parse(reader.ReadText()); reader.Close();
在這里,我們使用了ADODB.Stream這個(gè)ActiveX對象,來讀取blob數(shù)據(jù)并轉(zhuǎn)成json格式。
另外,在將blob轉(zhuǎn)json過程中,還需要注意到一些數(shù)據(jù)的編碼問題,比如UTF-8、GBK等等。需要根據(jù)實(shí)際情況進(jìn)行調(diào)整。
綜上所述,當(dāng)我們需要在IE瀏覽器中將blob數(shù)據(jù)轉(zhuǎn)換成json格式時(shí),需要使用ActiveX來讀取數(shù)據(jù),并注意數(shù)據(jù)編碼問題。