请求一个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"))"/>

运行结果如下图所示:

时间: 2024-12-17 11:20:42

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

将图片的二进制字节字符串在HTML页面以图片形式输出

具体实现代码如下: 1.新建一个一般处理程序: Image.ashx 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Net; 6 using System.Drawing.Imaging; 7 using System.IO; 8 9 namespace Test 10 { 11 /// <summary> 12 ///测试图

将图片的二进制字节 在HTML页面中显示

两种方法: 后端的一般处理程序:Imge.ashx 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI.WebControls; 6 7 namespace Test 8 { 9 /// <summary> 10 /// Imge 的摘要说明 11 /// </summary> 12 public clas

.net 根据图片网络地址获取图片二进制字节数据流

/// <summary> ///根据html路径获取图片的字节 /// </summary> /// <param name="picSize">图片尺寸,原图:1,大图:2,中图:3,小图:4</param> /// <param name="serverPath">图片服务器地址</param> /// <returns></returns> public stat

ASP.NET中让图片以二进制的形式存储在数据库中

今早有个网友问到我这问题,以前我都是直接在数据库中存文件名的,还没有试过存储整张图片到数据库中,上网搜索了一下,自己又测试了一番,代码如下:建立保存图片的表的SQL语句: Sql代码   USE [niunantest] GO /****** 对象:  Table [dbo].[picdata]    脚本日期: 03/30/2010 14:51:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [d

Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中

struts2的关于method="{1}"意思详解 <action   name= "Login_* "   method= "{1} "   class= "mailreader2.Login ">中Login_*带*是什么意思?method= "{1} "带{}这个是什么意思?====================================================name=

使用base64对图片的二进制进行编码,使其可以利用ajax进行显示

有时候我们需要动态的将图片的二进制在页面上进行显示,如我们需要弄一个验证码的功能,那么如果我们的验证码的图片在后台得到的是该图片的二进制,那么当我们需要在页面上点击一个按钮利用ajax进行切换的时候,如果在后台直接返回的是该图片的二进制,那么该图片是无法进行显示的. 直接返回字节流给img标签的src是可以的,如<img src="servlet/CheckCode">,但在之后进行切换的时候 使用ajax请求,如果仅仅返回图片的二进制然后把它传给img的src是不能的,目

SpringMVC(三)URL请求到Action的映射规则

在SpringMVC(二)经典的HelloWorld实现我们展示了一个简单的get请求,并返回了一个简单的helloworld页面.本篇我们来学习如何来配置一个action的url映射规则. 在SpringMVC(二)经典的HelloWorld实现我们在HelloWorldController上配置了一个@RequestMapping(value = "/helloworld")这表示对该controller的所有action请求必须是以"/helloworld"开

使用HttpClient请求一个网页

1 package com.exp.httpdemo; 2 3 import java.io.InputStream; 4 5 import org.apache.http.HttpEntity; 6 import org.apache.http.HttpResponse; 7 import org.apache.http.client.HttpClient; 8 import org.apache.http.client.methods.HttpGet; 9 import org.apache

php将图片以二进制保存到mysql数据库并显示

一.存储图片的数据表结构: -- -- 表的结构 `image` -- CREATE TABLE IF NOT EXISTS `image` ( `id` int(3) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 NOT NULL, `pic` blob NOT NULL, `type` varchar(50) CHARACTER SET utf8 NOT NULL, `date` datetime NOT NU