近期项目中遇到从数据库中读取二进制形式的图片,然后显示在网页上,总结其做法如下:
1,新建ImageServer.aspx页面,用来都去图片,其aspx页面是不也任何代码,如下:
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ImageService.aspx.cs" Inherits="test.ImageService" %>
- using System;
- using System.IO;
- namespace test
- {
- public partial class ImageService : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- Response.ContentType = "application/binary;";
- //这个地方图片可以从数据库中读取二进制图片
- //byte[] img = DBHelper.ReadImg();
- byte[] img = File.ReadAllBytes(Server.MapPath("img") + @"/testImg.jpg");
- Response.BinaryWrite(img);
- Response.Flush();
- Response.End();
- }
- }
- }
2,在web页面中的img控件中直接引用ImageServer.aspx作为图片Url
- <img id="imgs" src="ImageService.aspx"/>