2009-06-08 40 views
1

我有一個將返回一個對象(位圖)的DLL,我必須將它傳遞給瀏覽器。如果你有一個在內存中創建位圖的DLL,如何將它返回給瀏覽器?

全部在內存中,沒有磁盤訪問。

我知道如何用asp.net webform做到這一點,但我對MVC毫無頭緒。

與網絡表格,

,因爲我有過DLL控制,我繼承與webcontrol.image類。

在aspx頁面

我創建了一個簡單的IMG鏈接,如:

<img src="Handler1.ashx> 
在Handler1.ashx

我有這樣的代碼:

​​

(我刪除了清洗的東西/無用的代碼儘量簡短)

編輯

的解決方案是

Function img() As FileResult 
    Dim bmp As Bitmap = Nothing 
    Dim dll As New myDll.myClass 
    dll.DrawPicture(bmp) 

    Dim imgStream As New IO.MemoryStream 
    bmp.Save(imgStream, ImageFormat.Png) 
    imgStream.Position = 0 

    bmp.Dispose() 
    dll.Dispose() 
    bmp = Nothing 
    dll = Nothing 

    Return File(imgStream.ToArray, "image/png") 
End Function 

我運行清理一切除代碼將MemoryStream沒有問題,是有一個memoryleak有機會嗎? (我認爲是)

+0

您可以發佈您使用WebForms的代碼嗎? – CoderDennis 2009-06-08 12:47:06

+0

@Dennis Palner,完成 – Fredou 2009-06-08 12:51:47

回答

3

使用控制器動作。

相關問題