我正在CrossRider中構建擴展。我需要將圖像/圖標(我有他們的網址)保存在數據庫中。它們是微小的圖像,不會成爲數據庫中的問題。我可能有類似的東西接觸到background.js
:JavaScript序列化圖像(圖標)
<img src="http://something.com/icon.ico" alt="icon">
而且我希望能夠到該圖像序列化到數據庫(它是一個key/value數據庫)和反序列化後,並顯示它。類似於HTML5的FileReader.readAsDataUrl()
將會很好,但我不能使用該方法,因爲它似乎與表單綁定太多。
謝謝([ - |)。
嗯,我認爲這兩個選項,但沒有一個似乎適合,因爲圖像駐留在不同的域。第一種解決方案失敗,出現安全警告,第二種解決方案由於「相同的原產地策略」而不起作用。請有更多想法嗎? – MadeOfAir
@MadeOfAir您可以構建後端服務來獲取/代理圖標嗎?如果您發送HTTP標頭'Access-Control-Allow-Origin:*'與響應,您可以獲得相同的源策略([跨源資源共享](https://developer.mozilla.org/en-US /文檔/ HTTP/Access_control_CORS))。如果這些圖標是favicon,那麼http://g.etfv.co/就有一個現有的服務,它就是這樣做的。 – user113215
好吧,我越來越近了。但是我不知道使用'$ .get(「http://g.etfv.co/http://www.google.com」,函數(數據))這樣的請求獲取的數據類型。 ..);'。我已經嘗試了幾次轉換,假設數據是二進制的,將其轉換爲十六進制字符串,然後使用'hexToBase64()'指定[這裏](http://stackoverflow.com/a/14918390/1433559),前面加上「data:image/x-icon; base64「,但沒有奏效。 – MadeOfAir