我有,我已經讀入JS變量的圖像(最終通過剪貼板,如果該事項)通過下面的代碼。(火狐)工作二進制數據在Javascript
var rawImg = new Object();
//...populate rawImg (code left out for brevity)
var bis = Components.classes["@mozilla.org/binaryinputstream;1"].createInstance(Components.interfaces.nsIBinaryInputStream);
var is = rawImg.value.QueryInterface(Components.interfaces.nsIInputStream);
bis.setInputStream(is);
var img = bis.readBytes(is.available());
img
是一個圖像。我可以在http://emilsblog.lerch.org/2009/07/javascript-hacks-using-xhr-to-load.html
var base64Img = Base64.encodeBinary(img);
document.getElementById("holder").innerHTML = '<img src="data:image/png;base64,'+base64Img+'" alt="some image"/>';
此驗證此使用找到的Base64的庫將適當地顯示圖像。這段代碼非常適合Mozilla,我對此很滿意,因爲我的要求是嚴格支持FF4 +。
我的問題是兩個部分,到任何一個解決方案將是令人滿意的。是否有可能在不轉換爲base64的情況下顯示該圖像,可能是<canvas>
標籤?是否有可能將這個圖像作爲二進制傳輸到服務器(XHR或其他)而不轉換爲base64?
我可以base64.encode(),將字符串傳輸到服務器,然後在服務器端解碼,但似乎可能有一個更簡單的方法。