总在用别人的控件,第一次想自己写个控件。于是写了个简单的小控件,主要是用于自己学习和其他想尝试写控件的朋友,请多多指教。
改控件主要作用是将本地图片上传到自定义目录。
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Web.UI.HTMLControls;
using System.IO;
namespace UpLoadImage
{
 /// <summary>
 ///作者:DarkAngel 2004-10-27日创建
 ///支持图片上传到服务器功能
 /// </summary>
 [DefaultProperty("Text"),
  ToolboxData(@"<{0}:UpImage runat=server></{0}:UpImage>")]
 public class UpImage : Control, INamingContainer 
 {
  protected int filelength;
  protected string imageUrl;
  protected string mydirectory;
  static string LOGOURL;
  protected string vpicture;
  public Button mybutton;
  public HTMLInputFile fileUpload;
  public Label Label1;
  public UpImage()
  {
   this.EnsureChildControls();
     
  }
  [Bindable(true),
  Category("Appearance"),
  DefaultValue("")]
  [
  DescriptionAttribute("文件大小")
  ]
  public int FileLength
  {
   set{filelength=value;}
   get{return filelength;}
  }
  
     [
  DescriptionAttribute("图片名字")
  ]
  public string ImageUrl
  {
   set{imageUrl=value;}
   get{return imageUrl;}
  }
  
  [
  DescriptionAttribute("文件路径")
  ]
  public string MyDirectory
  {
   get{return mydirectory;}
   set{mydirectory=value;}
  }
  
  [
  DescriptionAttribute("图片的相对地址")
  ]
  public string LOGO
  {
   
   get{return LOGOURL;}
   set{LOGOURL=value;}
  }
  
  [
  DescriptionAttribute("是否显示图片")
  ]
  public string vPicture
  {
   set{vpicture=value;}
   get{return vpicture;}
  }
  private void mybutton_Click(object sender, System.EventArgs e)
  {
   
   if(!fileUpload.Value.ToString().Equals(""))
   {
    LOGOURL=fileUpload.PostedFile.FileName.ToString();
    
    LOGOURL=LOGOURL.Substring(LOGOURL.LastIndexOf("."),(LOGOURL.Length-LOGOURL.LastIndexOf(".")));
    if(fileUpload.PostedFile.ContentLength>filelength)
    {
     myScript("图片超过指定大小!");
    }
    else
    {
     if(LOGOURL.Equals(".jpg") || LOGOURL.Equals(".bmp") || LOGOURL.Equals(".gif"))
     {
      LOGOURL=mydirectory+"\\"+imageUrl+LOGOURL;
      mydirectory=Page.Server.MapPath(" ")+"\\"+mydirectory;
      
      if(Directory.Exists(mydirectory))
      {
      }
      else
      {
       Directory.CreateDirectory(mydirectory);
      }
      fileUpload.PostedFile.SaveAs(Page.Server.MapPath(" ")+"\\"+LOGOURL);
     
      
      
      if(vpicture.Equals("1"))
      {
       Label1.Text="<img width='100' heigth='100' src='"+LOGOURL+"'>";
      }
      myScript("图片上传成功!");
 
     }
     else
     {
      myScript("文件类型不对!");
      
     }
    }
   }
  
  }
  protected void myScript(string java)
  {
   Page.RegisterStartupScript("fsf","<script language=javascript>alert('"+java+"');</script>");
  }
  protected override void CreateChildControls() 
  {
   mybutton=new Button();
   fileUpload=new HTMLInputFile();
   Label1=ne