现在的位置: 首页 > 综合 > 正文

asp.net FileUpload上传文件

2012年12月28日 ⁄ 综合 ⁄ 共 3084字 ⁄ 字号 评论关闭

/// <summary>   

  1.         /// 上传文件   
  2.         /// </summary>   
  3.         /// <param name="pf">HttpPostedFile</param>   
  4.         /// <param name="path">路径</param>   
  5.         /// <param name="filename">输出文件名</param>   
  6.         /// <returns>错误信息</returns>   
  7.         public static string UploadFile(HttpPostedFile pf,string savepath, out string filename)  
  8.         {  
  9.             string fileExt = GetFileExt(pf.FileName);  
  10.             if (!AllowFileExt(fileExt))  
  11.             {  
  12.                 filename = string.Empty;  
  13.                 return "上传文件扩展名不被允许";  
  14.             }  
  15.             else if (pf.ContentLength >1048576)  
  16.             {  
  17.                 filename = string.Empty;  
  18.                 return "上传文件大小不得超过1MB";  
  19.             }  
  20.              
  21.             filename = GetNewFileName() + "." + fileExt;  
  22.             string path = HttpContext.Current.Server.MapPath("~" + "/" + savepath + "/" + filename);  
  23.             pf.SaveAs(path);  
  24.             return string.Empty;  
  25.         }  
  26.   
  27.         /// <summary>   
  28.         /// 新文件名   
  29.         /// </summary>   
  30.         /// <returns></returns>   
  31.         public static string GetNewFileName()  
  32.         {  
  33.             return DateTime.Now.ToString("MMddhhmmss");  
  34.         }  
  35.   
  36.         /// <summary>   
  37.         /// 取得文件扩展名   
  38.         /// </summary>   
  39.         /// <param name="filename">文件名</param>   
  40.         /// <returns>扩展名字符串</returns>   
  41.         static public string GetFileExt(string filename)  
  42.         {  
  43.             int pos = filename.LastIndexOf(".");  
  44.             return filename.Substring(pos + 1);  
  45.         }  
  46.   
  47.         /// <summary>   
  48.         /// 取得文件名   
  49.         /// </summary>   
  50.         /// <param name="filename"></param>   
  51.         /// <returns>主文件名字符串</returns>   
  52.         static public string GetFileName(string filename)  
  53.         {  
  54.             int pos = filename.LastIndexOfAny(new char[] { '\\', '/' });  
  55.             int pos1 = 0;  
  56.             int len = pos - pos1;  
  57.             return filename.Substring(pos1 + 1, len);  
  58.         }  
  59.         /// <summary>   
  60.         /// 允许上传的文件类型   
  61.         /// </summary>   
  62.         /// <param name="ext">文件类型</param>   
  63.         /// <returns>是/否</returns>   
  64.         static public bool AllowFileExt(string ext)  
  65.         {  
  66.             try  
  67.             {  
  68.                 string ex = "txt,xls,doc,docx,rar,zip";  
  69.                 foreach (string s in ex.Split(','))  
  70.                 {  
  71.                     if (ext.ToLower() == s.ToLower())  
  72.                     {  
  73.                         return true;  
  74.                     }  
  75.                 }  
  76.             }  
  77.             catch { return true; }  
  78.             return false;  
  79.         }  
  80.   
  81.  <asp:FileUpload ID="FileUpload1" runat="server" CssClass="fileupload" />  
  82.   
  83. //上传文件加入数据库   
  84.   
  85.  protected void Button1_Click(object sender, EventArgs e)  
  86. {  
  87.         string filename = "";  
  88.         string msg = Common .UploadFile(FileUpload1.PostedFile, "upload"out filename);  
  89.         if ("" == msg)  
  90.         {  
  91.             attendInfo.AttachUrl = filename;//成功   
  92.             return true;  
  93.         }  
  94.         else  
  95.         {  
  96.             Common.ShowMessage(""+msg+"");//失败   
  97.             return false;  
  98.         }  

抱歉!评论已关闭.