zoukankan      html  css  js  c++  java
  • 读取数据库中的图片(ASP.NET)

    下面这个代码演示了如何在ASP.NET中读取数据库中的图片(二进制类型),并且输出到页面上。

    我们这里使用的ashx的机制。同时使用了ImageConverter这个类型做图形转换。

    namespace WebApplication1
    {
    
        using System.Web;
        using System.Web.Services;
    
        using System.Data.SqlClient;
        using System.Drawing;
    
        /// <summary>
        /// $codebehindclassname$ 的摘要说明
        /// </summary>
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        public class EmployeePhoto : IHttpHandler
        {
    
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "image/jpeg";
    
                using (SqlConnection conn = new SqlConnection("server=(local);database=northwind;integrated security=true;"))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "SELECT Photo FROM Employees WHERE EmployeeId=1";
                        SqlDataReader reader = cmd.ExecuteReader();
                        reader.Read();
                        byte[] buffer = (byte[])reader[0];
                        ImageConverter converter = new ImageConverter();
                        Bitmap bitmap = (Bitmap)converter.ConvertFrom(buffer);
                        bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
                        reader.Close();
                        conn.Close();
                        context.Response.End();
                    }
                }
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }
    
  • 相关阅读:
    [心得]如何快速利用SqlMap做安全檢測
    [心得]群裡提問的流水序號產生方式
    STL中使用reverse_iterator时,如何正确使用erase函数
    西山居面试之旅
    LAMP兄弟连 视频教程集
    [译]理解Windows消息循环
    C++设计模式 -- 解析和实现
    winsock 收发广播包
    SqlServer sysobjects_table
    查询反模式
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1712129.html
Copyright © 2011-2022 走看看