在flex中顯示服務(wù)器端的圖片可以使用Image控件的source屬性,但是這個條件必須是客戶端可以訪問到的有效的URL地址。如果圖片存儲在數(shù)據(jù)庫中,直接使用source屬性是無法顯示圖片的。這種情況下可以使用flex中的URLStream類來讀取文件流,然后把文件顯示到畫面上。
第一步,創(chuàng)建一個URLStream對象,然后調(diào)用這個對象的load函數(shù)從服務(wù)器端讀取圖片文件的內(nèi)容。
第二步,把文件的內(nèi)容保存到ByteArray中。在第一步中,為URLStream對象的COMPLETE事件注冊了監(jiān)聽函數(shù)onLoadComplete,在這個函數(shù)中把得到的文件內(nèi)容把文件的內(nèi)容保存到ByteArray中。
在取文件內(nèi)容的時候,可以一個字節(jié)一個字節(jié)的取,當去到文件流的末尾時會拋出EOFError。
第三步,取到了文件內(nèi)容之后就是把圖片顯示到畫面上了,這里需要用到Loader類。使用Loader類的loadBytes函數(shù),把圖片內(nèi)容放到Loader對象中,然后把Loader對象加到Image控件中就可以了。
服務(wù)器端的工作:
服務(wù)器端必須把圖片文件準備還,然后在客戶端請求數(shù)據(jù)的時候把文件流輸出到客戶端就可以了。
下面的例子是個java實現(xiàn)的。
完整例子下載地址:
http://download.csdn.net/source/1815371
提示:使用本例的時候需要在c:\放置一個文件名為“head.PNG”的圖片。
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答?。?點擊進入論壇