簡體   English   中英

使用GWT,如何加載圖像並訪問圖像屬性和http狀態代碼

[英]Using GWT, how to load an image and access image attributes & http status codes

使用GWT,我從不受控制的服務器加載圖像。 當前,我使用GWT new Image( url) ,然后使用ImageHandlers和ErrorHandlers捕獲發生的情況,並將圖像放入緩沖區和DOM中。 然后,使圖像可見,以動畫化該過程。 但是現在我還需要更多,我需要知道錯誤代碼,例如服務器為圖像返回的錯誤代碼304,並且還需要獲取標頭響應屬性“ Last-modified”。 對於304,我知道我需要稍后在服務器將創建我認為可以管理的新版本(具有完全相同的url)時重新提交請求,但隨后它將有一個新的“最后修改”,我需要知道那個DateTime。 通過使用新的Image(url),我讓瀏覽器進行加載,但是我不知道如何獲得加載的詳細信息。

問題1:是否可以從圖片中提取更多信息? GWT Image只是似乎包裝了JS對象。 我查看的是Firefox控制台網絡,但也沒有看到太多細節。 在DOM樹中獲得(或不獲得)時被最后修改並且忘記了錯誤代碼。

如果對Q1的回答是否定的,則信息不存在或無法訪問,..

Q2:我是否需要停止使用瀏覽器來獲取圖像並使用XmlHttpRequest進行處理,然后大概可以訪問響應代碼和標頭屬性。 SOP不是問題。 但是,如何從響應OutputStream轉換為圖像呢? 我需要對Base64進行編碼還是有更好的方法? 用於圖像的其他非URL構造函數之一,例如Image(Element)或Image(ImageResource)。 那么問題就變成了如何使響應流成為Element或ImageResource?

注意:這另一個問題( 如何打印為什么無法加載圖像的錯誤消息? '是相關的,但沒有答案。

獲取錯誤代碼以及將響應作為流獲取必須通過HTTP客戶端完成( GWT具有內置的RequestBuilder )。 您也可以使用此處描述的方法,嘗試使用本機JS獲取錯誤代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM