请求一个action,将图片的二进制字节字符串在视图页面以图片形式输出

有些时候需要将二进制图片字节在发送浏览器以图片形式显示:

下面是一些示例代码:

控制器:

 1     /// <summary>
 2     /// 将图片的二进制字节字符串在视图页面以图片形式输出
 3     /// </summary>
 4     public class HomeController : Controller
 5     {
 6 
 7         public ActionResult Test()
 8         {
 9             return View();
10         }
11 
12         //方法一:
13         public FileResult TestFileResult_1()
14         {
15             byte[] mybyte;
16             using (WebClient client = new WebClient())
17             {
18                 mybyte = client.DownloadData("http://img.baidu.com/video/img/video_logo_new.gif");
19                 MemoryStream ms = new MemoryStream(mybyte);
20                 //System.Drawing.Image img;
21                 //img = System.Drawing.Image.FromStream(ms); 
22             }
23             return File(mybyte, "image/gif");
24         }
25 
26         //方法二:
27         public FileResult TestFileResult()
28         {
29             byte[] mybyte;
30             using (WebClient client = new WebClient())
31             {
32                 mybyte = client.DownloadData("http://img.baidu.com/video/img/video_logo_new.gif");
33                 MemoryStream ms = new MemoryStream(mybyte);
34                 //System.Drawing.Image img;
35                 //img = System.Drawing.Image.FromStream(ms); 
36             }
37             return new FileContentResult(mybyte, "image/gif");
38         }
39 
40         //方法三:
41         public ActionResult TestFileContentResult()
42         {
43             byte[] mybyte;
44             using (WebClient client = new WebClient())
45             {
46                 mybyte = client.DownloadData("http://img.baidu.com/video/img/video_logo_new.gif");
47                 MemoryStream ms = new MemoryStream(mybyte);
48             }
49             return new FileContentResult(mybyte, "image/gif");
50         }
51 
52         //方法四:
53         public ActionResult TestFile()
54         {
55             byte[] mybyte;
56             using (WebClient client = new WebClient())
57             {
58                 mybyte = client.DownloadData("http://img.baidu.com/video/img/video_logo_new.gif");
59                 //MemoryStream ms = new MemoryStream(mybyte);
60                 //System.Drawing.Image img;
61                 // img = System.Drawing.Image.FromStream(ms);
62             }
63             return File(mybyte, "image/gif");
64         }
65 
66 
67 
68 
69         public ActionResult Index()
70         {
71             return View();
72         }
73     }

视图(view):

 1 @{
 2     ViewBag.Title = "Test";
 3     Layout = "~/Views/Shared/_Layout.cshtml";
 4 }
 5 
 6 TestFile:<img src="@(Url.Action("TestFile", "Home"))"/>
 7 <br/>
 8 <br/>
 9 TestFileContentResult:<img src="@(Url.Action("TestFileContentResult", "Home"))"/>
10 
11 <br/>
12 <br/>
13 TestFileResult:<img src="@(Url.Action("TestFileResult", "Home"))"/>
14 
15 <br/>
16 <br/>
17 TestFileResult:<img src="@(Url.Action("TestFileResult_1", "Home"))"/>

运行结果如下图所示:

posted @ 2016-07-13 12:41  赛跑的蜗牛  阅读(406)  评论(1编辑  收藏  举报