ashx读图片
来源:互联网 发布:centos glibc 版本 编辑:程序博客网 时间:2024/04/30 00:15
- using System;
- using System.Web;
- using System.Data;
- using System.Data.SqlClient;
- using System.Drawing;
- using System.Drawing.Imaging;
- using System.IO;
- namespace ShowImage
- {
-
-
-
- public class GetImage : IHttpHandler
- {
- public void ProcessRequest(HttpContext context)
- {
- string id = (string)context.Request["id"];
- if (id != null)
- {
- MemoryStream stream = new MemoryStream();
- SqlConnection conn = new SqlConnection(@"Server=;database=;uid=;Pwd=");
- Bitmap bm = null;
- Image image = null;
- try
- {
- conn.Open();
- SqlCommand cmd = new SqlCommand("select photo from employees where employeeid='" + id + "'", conn);
- byte[] blob = (byte[])cmd.ExecuteScalar();
- stream.Write(blob, 78, blob.Length - 78);
- bm = new Bitmap(stream);
- int width = 48;
- int height = (int)(width * ((double)bm.Height / (double)bm.Width));
-
- image = bm.GetThumbnailImage(width, height, null, IntPtr.Zero);
- context.Response.ContentType = "image/jpeg";
- image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
- }
- finally
- {
- if (image != null)
- image.Dispose();
- if (bm != null)
- bm.Dispose();
- stream.Close();
- conn.Close();
- }
- }
- }
- public bool IsReusable
- {
- get
- {
- return true;
- }
- }
- }
- }