2011-11-29 65 views
0

我正在下載png文件到bimap。加載從php腳本創建的PNG文件

bitmap = BitmapFactory.decodeStream(new URL(url).openConnection().getInputStream()); 

它完美的「靜」·圖片,存儲在服務器與他的.png文件擴展名的圖像

但是如果圖像是一個JSP腳本響應沒有被下載到該位圖

腳本的

http://xxxxxxxxxxxxxx:9000/xxxxxxx/jsp/ios/imageAlumno?X_ALUMNO=144244 

的圖像在瀏覽器和響應的HTML代碼正確顯示的網址是:

<html><body style="margin: 0px;"><img style="-webkit-user-select: none" src="http://XXXXXXXXXXXXXXX:9000/XXXXXXX/jsp/ios/imageAlumno?X_ALUMNO=144244"></body></html>

任何想法?

+0

你確定JSP返回一個PNG圖片嗎?它可能會返回不同類型的圖像,如GIF或JPEG。 – Michael

+0

確定這是一個PNG文件。位圖值在BitmapFactory.decodeStream(新URL(url).openConnection()。getInputStream())後爲null – pekechis

回答

0

第一個猜測是:JSP代碼發送錯誤的圖像頭。當涉及到某些規則時,Java可能比Web瀏覽器更不容許......我會首先檢查發送給用戶的頭是什麼。使用telnet XXXXXXXXXXXXXXX:9000,然後鍵入GET /XXXXXXX/jsp/ios/imageAlumno?X_ALUMNO=144244以假裝您是瀏覽器,然後您將看到Web服務器發回的內容。

+1

JSP *應該*返回適當的Content-type頭部,但我認爲這不重要。他只是將一個'InputStream'對象傳遞給'BitmapFactory.decodeStream'方法。您無法從該InputStream讀取HTTP標頭,因爲InputStream只包含響應的主體。 – Michael

+0

這就是我認爲的......我只讀了body.Anyway,我得到一個「資源解釋爲文檔,但與MIME類型的圖像/ PNG轉移。」在Chrome控制檯的消息警告,但這是我從正確加載的其他圖像得到的消息。 – pekechis

+0

@pekechis將輸入流數據流式傳輸到一個文件,然後嘗試查看是否可以將其作爲圖像打開。 – Michael