1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 using System.IO; 7 using System.Web.UI.WebControls; 8 9 public class FileUploadHelper 10 { 11 private HttpPostedFile postedFile; 12 13 public FileUploadHelper(HttpPostedFile postedFile) 14 { 15 this.postedFile = postedFile; 16 } 17 18 public void SaveAsById(string directoryRelativePath, string id) 19 { 20 string fullPath = string.Format("{0}/{1}{2}", 21 directoryRelativePath, 22 id, 23 new FileInfo(postedFile.FileName).Extension); 24 SaveAs(fullPath); 25 } 26 27 28 public void SaveAsByName(string directoryRelativePath, string fileName) 29 { 30 string fileSavePath = string.Format("{0}/{1}", directoryRelativePath, fileName); 31 SaveAs(fileSavePath); 32 } 33 34 35 public void SaveAs(string fileRelativePath) 36 { 37 if (HasFile()) 38 { 39 FileInfo fileInfo = new FileInfo(fileRelativePath); 40 if (!Directory.Exists(fileInfo.Directory.FullName)) 41 Directory.CreateDirectory(fileInfo.Directory.FullName); 42 postedFile.SaveAs(fileInfo.FullName); 43 } 44 } 45 46 public string GetFileExtension() 47 { 48 if (HasFile()) 49 return new FileInfo(postedFile.FileName) 50 .Extension; 51 else 52 return ""; 53 } 54 55 public string GeName() 56 { 57 if (HasFile()) 58 return new FileInfo(postedFile.FileName) 59 .Name; 60 else 61 return ""; 62 } 63 64 public string GetSavePath(string directoryRelativePath, string id) 65 { 66 string fileName = string.Format("{0}{1}", id, new FileInfo(postedFile.FileName).Extension); 67 return string.Format("{0}\\{1}", directoryRelativePath, fileName); 68 } 69 70 71 public bool HasFile() 72 { 73 return postedFile.ContentLength > 0; 74 } 75 }