2012-01-04 32 views
0

有沒有人有過如何在單個servlet響應中發送二進制(圖像)和基於文本的數據的示例?一個例子是返回服務器上生成的所有圖像和圖像。我也無法找到用於執行此操作的混合模式MIME類型。在servlet響應中返回二進制和文本數據

想法?

+0

您定位的客戶是哪個? – BalusC 2012-01-05 14:47:52

回答

2

瀏覽器支持仍然是相當冒險的(讀here)。但是如果您打算自己解析客戶端的響應,那麼有一些非常好的示例。您正在尋找的mime型是multipart/mixed

0

這不是HTTP和HTML的工作方式。第一個請求是加載HTML代碼。此HTML代碼包含<img src="..."/>標籤,它們指向圖像的URL。然後瀏覽器再次請求加載圖像。您無法在單個請求中下載HTML和圖像。

2

您可以使用Data URI將二進制對象嵌入到生成的HTML中。 例如

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4/8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot"> 

另請參閱:多反應https://serverfault.com/questions/241218/why-do-http-servers-not-send-a-single-file-back-when-possible#241224

+0

哇,這是可怕的,真棒在同一時間。 – digitaljoel 2012-01-04 22:53:47

+0

如果您的頁面和所有嵌入式對象不經常更改以及使用壓縮和緩存控制,則可以提高速度。瀏覽器將只檢查一個項目,如果它已被更新,而不是其中的許多。 – 2012-01-04 22:58:07

+0

是的,你剛纔解釋了爲什麼我說「可怕和真棒」,而不僅僅是可怕的:) – digitaljoel 2012-01-04 23:01:39