系統(tǒng)之前使用的是良田高拍儀,拍照之后通過(guò)img標(biāo)簽顯示客戶端本地圖片,可以正常顯示?,F(xiàn)在換了一套新的高拍儀設(shè)備,同樣的方式圖片不顯示,變成了黑叉,必須點(diǎn)擊黑叉鼠標(biāo)右鍵顯示圖片才正常顯示,有大佬知道是為什么么?PS.都是用的ie瀏覽器
經(jīng)過(guò)各種嘗試之后,先轉(zhuǎn)成base64,然后通過(guò)setTimeout顯示,可以正常顯示了。
setTimeout(function(){
var base64 = getBase64Image(copyP);
var j_cav_base64 = document.getElementById("img"+targetImaged.length);
j_cav_base64.src=base64;
},1000);
function pathToBase64(file) {
try {
var type = file.slice(file.lastIndexOf(".") + 1)
var xmlHttp = new ActiveXObject('MSXML2.XMLHTTP.6.0');// 要用MSXML2.XMLHTTP.6.0,不要用MSXML2.XMLHTTP(會(huì)報(bào)錯(cuò)"沒(méi)有權(quán)限")
xmlHttp.open('POST', file, false);
xmlHttp.send('');
var xml_dom = new ActiveXObject('MSXML2.DOMDocument');
var tmpNode = xml_dom.createElement('tmpNode');
tmpNode.dataType = 'bin.base64';
tmpNode.nodeTypedValue = xmlHttp.responseBody;
var fileBase = "";
switch (type) {
case "pdf":
fileBase = "data:application/pdf;base64,";
break;
case "jpg":
fileBase = "data:image/jpg;base64,";
break;
case "png":
fileBase = "data:image/png;base64,";
break;
case "bmp":
fileBase = "data:image/bmp;base64,";
break;
}
var imgBase64Data = fileBase + tmpNode.text.replace(/\n/g, "");
return imgBase64Data;
} catch (e) {
console.log("pathToBase64 error:", JSON.stringify(e));
return false;
}
}