假設我有一個<img/>
。這img有src='http://somelocation/getmypic'
。稍後,我可能想要根據接收二進制數據的ajax調用來更改img的內容。我只知道一次我收到了ajax回調中的數據,無論我是否想將其應用於圖像。我可能決定不這樣做。設置二進制數據在img
據我所知,我已經完成了在img上設置二進制數據的唯一方法,即通過base64編碼二進制數據並將img src設置爲生成的base 64編碼字符串。
我的第一個和主要問題是:什麼是開銷?這是否意味着我已經將圖像下載的處理和內存使用量增加了三倍?我的ajax回調獲取已加載到內存中的二進制數據,然後我base 64編碼二進制流,然後(我假設)瀏覽器解碼這個流回二進制?還是我錯過了一些東西,其實並沒有那麼糟糕?
我的第二個問題是:爲什麼沒有辦法將二進制數據直接設置到沒有base64encoding的img中?我使用的大多數UI語言都允許您從文件中將圖像加載到「PictureBox」中,並在「PictureBox」中繪製。爲什麼這是不允許的IMG?我在想img.binary =將src設置爲'binary'或類似的字節。看起來這個功能是分開的img和畫布,但有時你想做的兩個。我只是想知道在我的理解中是否缺少了一些東西(例如,有一些設計或實現的好處是不允許直接在img上設置二進制數據)。
謝謝。