zoukankan      html  css  js  c++  java
  • 用Generic Handler(ashx)去显示非二进制的图片

    一般情况,显示非二进制的图片(存放在磁盘上的图片文件),直接用图片控件轻易实现。

    <img alt="" src="xxx.jpg" />

    <asp:Image ID="Image1" runat="server" ImageUrl="xxx.jpg" />

    由于程序要求,需要把图片文件转为数据流(二进制),再进行显示。因此想起使用Generic Handler(ashx)来处理。

    你可以参考下面代码:

    View Code
    <%@ WebHandler Language="C#" Class="ViewImage" %>

    using System;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Web;
    using System.Web.UI.WebControls;

    public class ViewImage : IHttpHandler
    {
        
    public void ProcessRequest(HttpContext context)
        {
            
    //接收图片路径
            string parameter = context.Request.QueryString["file"];      
            
    //使用UrlDecode解编码  
            string path = context.Server.MapPath(HttpUtility.UrlDecode(parameter));
            
    //转为字节
            byte[] datas = System.IO.File.ReadAllBytes(path);
            
    //输出数据流
            context.Response.OutputStream.Write(datas, 0, datas.Length);
        }
     
        
    public bool IsReusable
        {
            
    get
            {
                
    return false;
            }
        }
    }

      

    xxx.NavigateUrl = "~/ViewImage.ashx?file=" + fileFullPath;
  • 相关阅读:
    代码注释技术
    疑难杂症错误解决方法大全
    MD5 加密
    ADO.NET DataReader和DataAdapter的区别
    HTTP协议详解
    web开发常用样式
    Stream 和 byte[] 之间的转换
    Sql 函数大全 (更新中...由难到简
    Web C# 导出Excel 方法总结
    VC++ MFC 如何实现在编辑框中输出具有换行功能的文段 01
  • 原文地址:https://www.cnblogs.com/insus/p/2003740.html
Copyright © 2011-2022 走看看