2010-01-06 52 views

回答

0

相信FILESTREAM列類型非常相似,一個二進制列,但SQL Server將它存儲在文件系統而不是實際的SQL數據庫文件中。在任何情況下,您都需要使用某種中間組件來讀取二進制數據並輸出內容作爲響應。要做到這一點

的方法之一是使用的HttpHandler到你傳遞一些數據,你可以用它來識別記錄拉:

public void ProcessRequest (HttpContext context) { 
    // Add some sort of validation if need be 
    var id = context.Request.QueryString["ImageID"])) 

    // Pull your data here based on that information 
    var dataObject = GetDataObject(id); 

    context.Response.ContentType = "image/png"; // or the applicable mime content type 
    context.Response.BinaryWrite((byte[])dataObject[0]["ImageFile"]); 
} 

這是一個簡單的例子,你想使確定你有你的邏輯來拉DataTable或DataReader什麼的。這個例子假設你有一個DataTable。有了閱讀器,您需要在邏輯中添加閱讀行。

你會最終調用這樣的形象:

<img src="/imagehandler.ashx?ImageID=345" alt="" /> 

喬希

相關問題