日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net mvc 从数据库中读取图片的实现代码

發(fā)布時(shí)間:2025/4/14 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net mvc 从数据库中读取图片的实现代码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先是創(chuàng)建一個(gè)類,繼承于ActionResult,記住要引用System.Web.Mvc命名空間,如下:

public class ImageResult : ActionResult { public ImageFormat ContentType { get; set; } public Image image { get; set; } public string SourceName { get; set; } public ImageResult(string _SourceName, ImageFormat _ContentType) { this.SourceName = _SourceName; this.ContentType = _ContentType; } public ImageResult(Image _ImageBytes, ImageFormat _ContentType) { this.ContentType = _ContentType; this.image = _ImageBytes; } public override void ExecuteResult(ControllerContext context) { context.HttpContext.Response.Clear(); context.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache); if (ContentType.Equals(ImageFormat.Bmp)) context.HttpContext.Response.ContentType = "image/bmp"; if (ContentType.Equals(ImageFormat.Gif)) context.HttpContext.Response.ContentType = "image/gif"; if (ContentType.Equals(ImageFormat.Icon)) context.HttpContext.Response.ContentType = "image/vnd.microsoft.icon"; if (ContentType.Equals(ImageFormat.Jpeg)) context.HttpContext.Response.ContentType = "image/jpeg"; if (ContentType.Equals(ImageFormat.Png)) context.HttpContext.Response.ContentType = "image/png"; if (ContentType.Equals(ImageFormat.Tiff)) context.HttpContext.Response.ContentType = "image/tiff"; if (ContentType.Equals(ImageFormat.Wmf)) context.HttpContext.Response.ContentType = "image/wmf"; if (image != null) { image.Save(context.HttpContext.Response.OutputStream, ContentType); } else { context.HttpContext.Response.TransmitFile(SourceName); } } }

然后在 Controller類中創(chuàng)建一個(gè)Action.如下:

public ActionResult GetPicture(int id) { ICategory server = new CategoryServer(); byte[] buffer = server.getCategoryPicture(id); if (buffer != null) { MemoryStream stream = new MemoryStream(buffer); System.Drawing.Image image = System.Drawing.Image.FromStream(stream); ImageResult result = new ImageResult(image, System.Drawing.Imaging.ImageFormat.Jpeg); return result; } return View(); }

這樣就可以顯示圖片了。
下面幾種方法可以顯示已經(jīng)存在的圖片
方法一:

using System.IO; public FileResult Image() { string path = Server.MapPath("/Content/Images/Decorative/"); string filename = Request.Url.Segments[Request.Url.Segments.Length - 1].ToString(); // Uss Path.Combine from System.IO instead of StringBuilder. string fullPath = Path.Combine(path, filename); return(new FileResult(fullPath, "image/jpeg")); }

方法二:

public ActionResult Image(string id) { var dir = Server.MapPath("/Images"); var path = Path.Combine(dir, id + ".jpg"); return base.File(path, "image/jpg"); }

方法三:

[AcceptVerbs(HttpVerbs.Get)] [OutputCache(CacheProfile = "CustomerImages")] public FileResult Show(int customerId, string imageName) { var path = string.Concat(ConfigData.ImagesDirectory, customerId, @"\", imageName); return new FileStreamResult(new FileStream(path, FileMode.Open), "image/jpeg"); }

這三種都可以顯示已經(jīng)存在的圖片并且我認(rèn)為第三種方法可以修改為從數(shù)據(jù)庫中讀取圖片顯示。

轉(zhuǎn)載于:https://www.cnblogs.com/hnsongbiao/p/4456999.html

總結(jié)

以上是生活随笔為你收集整理的asp.net mvc 从数据库中读取图片的实现代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。