zoukankan      html  css  js  c++  java
  • 定义无图片时显示默认图片,大小

    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="ImageThumbnail.ascx.cs" Inherits="ImageThumbnail" %>
    <asp:Image ID="Image1" runat="server" CssClass="photo" BorderWidth="1" />
     1using System;
     2
     3public partial class ImageThumbnail : System.Web.UI.UserControl
     4{
     5    public object PhotoID
     6    {
     7        get
     8        {
     9            object o = ViewState["PhotoID"];
    10            return (o != null? (int)o : 0;
    11        }

    12        set
    13        {
    14            ViewState["PhotoID"= (value != null && value != DBNull.Value) ? Convert.ToInt32(value) : 0;
    15        }

    16    }

    17    public ImageSizes ImageSize
    18    {
    19        get
    20        {
    21            object o = ViewState["ImageSize"];
    22            return (o != null? (ImageSizes)o : ImageSizes.Thumb;
    23        }

    24        set
    25        {
    26            ViewState["ImageSize"= value;
    27        }

    28    }

    29    public enum ImageSizes
    30    {
    31        Large = 0,
    32        Thumb = 1,
    33        FullSize = 2
    34    }

    35    public string NoPhotoImg
    36    {
    37        get
    38        {
    39            object o = ViewState["NoPhotoImg"];
    40            return (o != null? (string)o : null;
    41        }

    42        set
    43        {
    44            ViewState["NoPhotoImg"= value;
    45        }

    46    }

    47    protected void Page_PreRender(object sender, System.EventArgs e)
    48    {
    49        if (Convert.ToInt32(PhotoID) == 0)
    50        {
    51            if (NoPhotoImg != null)
    52            {
    53                Image1.ImageUrl = NoPhotoImg;
    54            }

    55            else
    56            {
    57                Image1.Visible = false;
    58            }

    59        }

    60        else
    61        {
    62            Image1.ImageUrl = "ImageFetch.ashx?Size=" + Convert.ToInt32(ImageSize) + "&ImageID=" + Convert.ToString(PhotoID);
    63        }

    64    }

    65    protected void Page_Load(object sender, EventArgs e)
    66    {
    67
    68    }

    69}

    70
    ImageFetch.ashx
     1<%@ WebHandler Language="C#" Class="ImageFetch" %>
     2
     3using System;
     4using System.Web;
     5using System.Data.SqlClient;
     6using System.Data;
     7using System.IO;
     8
     9public class ImageFetch : IHttpHandler
    10{
    11    const int BUFFERSIZE = 1024;
    12
    13    public bool IsReusable
    14    {
    15        get
    16        {
    17            return true;
    18        }

    19    }

    20
    21    public void ProcessRequest(HttpContext context)
    22    {
    23        HttpResponse response = context.Response;
    24        HttpRequest request = context.Request;
    25        response.ContentType = "image/jpeg";
    26        response.Cache.SetCacheability(HttpCacheability.Public);
    27        response.BufferOutput = false;
    28        writeSingleImage(Convert.ToInt32(request.QueryString["ImageID"]), Convert.ToInt32(request.QueryString["Size"]), response.OutputStream);
    29        response.End();
    30    }

    31
    32    public void writeSingleImage(int ImageID, int size, Stream output)
    33    {
    34        string cxnstr = System.Configuration.ConfigurationManager.ConnectionStrings["ClubSiteDB"].ConnectionString;
    35        SqlConnection connection = new SqlConnection(cxnstr);
    36        string query;
    37        if (size == 0)
    38        {
    39            query = "select largeimage from images where id=@item_id";
    40        }

    41        else if (size == 1)
    42        {
    43            query = "select thumbimage from images where id=@item_id";
    44        }

    45        else if (size == 2)
    46        {
    47            query = "select origimage from images where id=@item_id";
    48        }

    49        else
    50        {
    51            query = "select largeimage from images where id=@item_id";
    52        }

    53        SqlCommand command = new SqlCommand(query, connection);
    54        SqlParameter param0 = new SqlParameter("@item_id", SqlDbType.Int);
    55        param0.Value = ImageID;
    56        command.Parameters.Add(param0);
    57        connection.Open();
    58
    59        byte[] d = ((byte[])(command.ExecuteScalar()));
    60        output.Write(d, 0, d.Length);
    61        connection.Close();
    62    }

    63}
  • 相关阅读:
    MySQL Replication主从复制
    使用Amoeba 实现MySQL DB 读写分离
    Amoeba For MySQL入门:实现数据库水平切分
    11条理由告诉你,为什么你的网站不卖座
    很有用的观察者设计模式
    Apache + Tomcat集群配置详解 (1)
    Nginx+tomcat配置负载均衡
    JSON-RPC轻量级远程调用协议介绍及使用
    nginx的upstream目前支持5种方式的分配
    rpc远程过程协议调用
  • 原文地址:https://www.cnblogs.com/zwl12549/p/995042.html
Copyright © 2011-2022 走看看