• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 自己寫的自定義Web的上傳控件

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    using System; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; using System.Web.UI.HtmlControls; using System.IO; using System.Drawing; using System.Drawing.Design; namespace Yin .net .Common { /// summary


    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.ComponentModel;
    using System.Web.UI.HtmlControls;
    using System.IO;
    using System.Drawing;
    using System.Drawing.Design;
    namespace Yin.net.Common
    {
    /// <summary>
    /// FileUpload 的摘要說明。E:\program\Common\FileUpload.bmp
    /// </summary>
    [ToolboxBitmap(typeof(Yingnet.Common.FileUpload), "FileUpload.bmp"),
    DefaultProperty("Text"), DefaultEvent("Click"),
    ToolboxData("<{0}:FileUpload runat=server></{0}:FileUpload>")]
    public class FileUpload : System.Web.UI.WebControls.WebControl {
      /// <summary>
      /// 上傳按鈕
      /// </summary>
      private Button button=new Button();
      /// <summary>
      /// 上傳文件個數
      /// </summary>
      private int filenum=1;
      /// <summary>
      /// File對象
      /// </summary>
      private HtmlInputFile[] file;
      /// <summary>
      /// 保存路徑,默認為系統的臨時目錄
      /// </summary>
      private string path=System.IO.Path.GetTempPath();
      /// <summary>
      /// 上傳的文件名組
      /// </summary>
      private string[] filename;
      /// <summary>
      /// 后綴文件名組
      /// </summary>
      private string[] suffix;
      /// <summary>
      ///過濾器,寫法是.txt;.abc
      /// </summary>
      private string filter="";
      /// <summary>
      /// 限制文件上傳大小,為0是不限制,單位是字節
      /// </summary>
      private int size=0;//System.ComponentModel.DefaultEventAttribute
      
        /// <summary>
        /// 上傳事件
        /// </summary>
      [Bindable(true),Category("事件"),Description("上傳后激發的事件")
      ]
      public event EventHandler Click;
      /// <summary>
      /// 上傳文件數
      /// </summary>
      [Bindable(true),
      Category("參數"),Description("設定上傳文件的個數"),
      DefaultValue("1")]
      public int FileNum{
       set{
        if(value<1){
         value=1;
        }
        filenum=value;
        this.Controls.Clear();
        file=new HtmlInputFile[filenum];
        filename=new string[filenum];
        suffix=new string[filenum];
        for(int i=0;i<filenum;i++) {
         file[i]=new HtmlInputFile();
         this.Controls.Add(file[i]);
        }
        this.Controls.Add(button);
       }
       get{
        return filenum;
       }
      }
      /// <summary>
      /// 上傳按鈕的文本
      /// </summary>
      [Bindable(true),
      Category("參數"), Description("設定上傳文件的路徑"),
      DefaultValue("1")]
       /// <summary>
       /// 上傳路徑
       /// </summary>
      public string UploadPath {
       set{
        if("".Equals(value)||value==null){
         value=System.IO.Path.GetTempPath();
        }
        path=value;
       }
       get{
        return path;
       }
      }
      /// <summary>
      /// 得到文件名
      /// </summary>
      public string[] Filename{
       get{
        return filename;
       }
      }
      /// <summary>
      /// 得到后綴
      /// </summary>
      public string[] Suffix{
       get{
        return  suffix;
       }
      }
      /// <summary>
      /// 過濾器
      /// </summary>
      public string Filter{
       set{
        filter=value;
       }
       get{
        return filter;
       }
      }
      /// <summary>
      /// 限制大小
      /// </summary>
      public int FileSize{
       set{
        size=value;
       }
       get{
        return size;
       }
      }
      /// <summary>
      /// 快捷鍵
      /// </summary>
      public override string Aclearcase/" target="_blank" >ccessKey{
       get{
        return button.AccessKey;
       }
       set{
        button.AccessKey=value;
       }
      }
      /// <summary>
      /// 背景
      /// </summary>
      public override System.Drawing.Color BackColor{
       get{
        return button.BackColor;
       }
       set{
        button.BackColor=value;
       }
      }
      /// <summary>
      /// 邊框顏色
      /// </summary>
      public override System.Drawing.Color BorderColor{
       get{
        return button.BorderColor;
       }
       set{
        button.BorderColor=value;
       }
      }
      /// <summary>
      /// 邊框風格
      /// </summary>
      public override BorderStyle BorderStyle{
       get{
        return button.BorderStyle;
       }
       set{
        button.BorderStyle=value;
       }
      }
      /// <summary>
      /// 文本
      /// </summary>
      [Bindable(true),
       Category("Appearance"),
       DefaultValue("")]
      public string Text
      {
       get
       {
        return button.Text;
       }
       set
       {
        button.Text = value;
       }
      }
      
      public FileUpload():base(){
       
       FileNum=1;
       button.Click+=new EventHandler(this.button_Click);
       this.Controls.Add(button);
       
      }
      /// <summary>
      /// 按鈕事件
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      private void button_Click(object sender, EventArgs e){
       Upload();
       ///添加你的代碼
       if(Click!=null)
        Click(sender,e);  ///拋處事件
      }
      /// <summary>
      /// 上傳
      /// </summary>
      private void Upload(){
       System.Web.HttpPostedFile postedFile;
       for(int i=0;i<filenum;i++){
        try{
         postedFile=file[i].PostedFile;
         if(postedFile!=null) {
          if(postedFile.ContentLength>size && size!=0){
           break;
          }
          string suf=GetSuffix(postedFile.FileName);
          if(filter!=null && filter.IndexOf(suf)>-1){
           break;
          }
          filename[i]=DateTime.Now.Ticks.ToString();
          suffix[i]=suf;
          postedFile.SaveAs(System.IO.Path.Combine(path,filename[i]+suf));
          
         
         }
        }finally{
         filename[i]="";
        }
       }
      }
      /// <summary>
      /// 獲取后綴名
      /// </summary>
      /// <param name="filename">文件名</param>
      /// <returns>返回帶.的后綴名</returns>
      private string GetSuffix(string filename){
       int index=filename.LastIndexOf(".");
       if(index>0){
        return filename.Substring(index);
       }
       return "";
      }
       
    }
    }

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>