上传图片的一系列方法


  private void upFileBtn_Click(object sender, System.EventArgs e)
  {
   if(this.UpFiles.PostedFile.ContentLength==0)
    Label1.Text="上传文件不成功或者发生错误";
   else
   {
    //获取上传文件名
               bool flag =  IsAllowedExtension(this.UpFiles.PostedFile.FileName);
    if(flag)
    {
     string temp=this.UpFiles.PostedFile.FileName;
         //获取文件类型
     int kinds=temp.LastIndexOf(".");
     string kind=temp.Substring(kinds);
     string vFileName = CreateFilePath(kind); 
     //保存文件
     this.UpFiles.PostedFile.SaveAs(Server.MapPath(".")+"\\upImg\\"+vFileName);
     Label1.Text="文件上传成功!上传文件名"+temp;
    }
    else
    {
                      Label1.Text="上传文件不成功或者发生错误";
    }
 }
  }

//创建路径
private string CreateFilePath(string kinds)
  {
   string filePath=""; 
   filePath+=DateTime.Now.Year.ToString().Substring(2,2);
   filePath+=DateTime.Now.Month.ToString("00");
   string temp1 = System.Web.HttpContext.Current.Server.MapPath("./upImg/" + filePath).ToString();

//若文件夹不存在创建文件夹
   CreateFolder(temp1);
   filePath+="/";
   filePath+=DateTime.Now.Day.ToString();
   //string temp = filePath.Substring(filePath.LastIndexOf("/")+1);
            string temp2 = System.Web.HttpContext.Current.Server.MapPath("./upImg/" + filePath).ToString();
            CreateFolder(temp2);
   filePath+="/";

   filePath+=DateTime.Now.Hour.ToString("00");
   filePath+=DateTime.Now.Minute.ToString("00");
   filePath+=DateTime.Now.Second.ToString("00");
   filePath+=DateTime.Now.Millisecond.ToString("00"); 
   filePath+=kinds;
   return filePath;
  }

//授权文件类型
  public static bool IsAllowedExtension(string hifile)
  {
   string strOldFilePath = "", strExtension = "";
   string[] arrExtension =   { ".gif", ".jpg", ".jpeg", ".bmp", ".png" };
   if (hifile != string.Empty)
   {
    strOldFilePath = hifile;
    strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));
    for (int i = 0; i < arrExtension.Length; i++)
    {
     if (strExtension.Equals(arrExtension[i]))
     {
      return true;
     }
    }
   }
   return false;
  } 


  /**//// <summary>
  /// 在根目录下创建文件夹
  /// </summary>
  /// <param name="FolderPath">要创建的文件路径</param>
  public void CreateFolder(string CreatePath)
  {

   //string a = Server.MapPath("./upImg/" + FolderPathName).ToString();
  
   if (CreatePath.Trim().Length > 0)
   {
    try
    {
                   // string CreatePath = System.Web.HttpContext.Current.Server.MapPath("./upImg/" + FolderPathName).ToString();
     if (!Directory.Exists(CreatePath))
     {
      Directory.CreateDirectory(CreatePath);
     }
    }
    catch(Exception ex)
    {
     throw new Exception(ex.Message);
    }
   }
  }

posted @ 2007-08-09 09:44  早班火车  阅读(298)  评论(0编辑  收藏  举报