今天有人問我一個需求,他要將SQL Server中儲存的Image data type資料取出後,顯示回圖片,以前做類似的需求都是在產生認證圖片時做的,兩者之間蠻類似的,只差在圖片資料來源不同,所以拿之前的經驗來用就好。
MSSQL中的image資料型別是 0 ~ 2^31-1 (2,147,483,647) bytes的binary data,我懶得弄一個DB去拉資料,所以拉了之前去西門町吃排骨酥湯時拍的照片來當Source,然後設好網頁的ContentType後吐出來。
語法如下,我是寫在ASP.NET MVC下,不過基本上沒差啦。
MSSQL中的image資料型別是 0 ~ 2^31-1 (2,147,483,647) bytes的binary data,我懶得弄一個DB去拉資料,所以拉了之前去西門町吃排骨酥湯時拍的照片來當Source,然後設好網頁的ContentType後吐出來。
語法如下,我是寫在ASP.NET MVC下,不過基本上沒差啦。
public class YooooController : Controller { public void Img() { System.Net.WebClient wc = new System.Net.WebClient(); byte[] data = wc.DownloadData("http://farm6.static.flickr.com/5010/5352949971_1938f31b9e.jpg"); Response.ContentType = "Image/jpg"; Response.OutputStream.Write(data, 0, data.Length); Response.OutputStream.Flush(); Response.End(); } }
這是在Yoooo Controller下的Img Action,所以要讀這張圖的時候就用一般的img標籤,只是src指到這個Action。
@{ ViewBag.Title = "Home Page"; } <h2>@ViewBag.Message</h2> <p> To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>. </p> <img src="/yoooo/img" />
最後的結果就直接跑出一張圖啦
No comments:
Post a Comment