2011-09-02 104 views
2
動態

生成的位圖,我需要我的ASP.NET頁面上創建一些框圖。最好通過Bitmap來完成嗎?如何顯示這個動態生成的Bitmap對象?顯示在ASP.NET頁面

回答

2

創建位圖寫入響應流的HTTP處理程序。

繼承人在處理程序本身http://www.dotnetperls.com/ashx的鏈接。

如果你能寫一個文件到文件系統,使用某種形式的命名規則,讓你不一遍又一遍產生了。

如果您有它寫入一個文件,你可以寫一個使用context.Response.WriteFile(path);

你需要來設置適當的響應頭,如果你想cahce像下面的東西應該是確定的響應流。

 context.Response.Cache.SetCacheability(HttpCacheability.Public); 
     context.Response.Cache.SetLastModified(lastWrite); 
     context.Response.Cache.SetETag(string.Format("\"{0}\"", lastWrite.Ticks)); 
     context.Response.ContentType = "image/png"; 

您可以檢查傳入的請求這些頭部和喜歡的東西返回一個304(之前做一個空檢查)

if (context.Request.Headers[since] >= lastwrite || context.Request.Headers[eTag] >= lastwriteTicks) { 
      context.Response.StatusCode = 304; 
      context.Response.StatusDescription = "Not Modified"; 
      return; 
     } 

如果需要產生新的,每次不要擔心緩存和只需將你的密碼寫入context.Response.OutputStream即可。