我有一個將返回一個對象(位圖)的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有機會嗎? (我認爲是)
您可以發佈您使用WebForms的代碼嗎? – CoderDennis 2009-06-08 12:47:06
@Dennis Palner,完成 – Fredou 2009-06-08 12:51:47