/// <summary> /// 對圖片的處理,包括兩個方法:一個存入圖片並將圖片地址返回,一個將圖片地址解析爲地址集合 /// </summary> public class PicOperation : Page { //folder:對應的image下的文件夾名稱,也是對應的數據表所表明的含義 //subdividedfolder:通常爲建立人的手機號或者企業id等 //filenameformat:文件名的格式前綴,如:DateTime.Now.ToString("yyMMddmmss") public string UplodePicAndReturnAddr(string folder,string subdividedfolder,string filenameformat, HttpContext context) { string picAddr = ""; string path = "/image/" + folder+"/" + subdividedfolder + "/"; if (!Directory.Exists(Server.MapPath(path))) { Directory.CreateDirectory(Server.MapPath(path)); //若是對應的文件夾不存在,則新建一個文件夾 } HttpPostedFile files = null; string fileName = ""; List<string> list = new List<string>(); //聲明一個list(集合)對象,用來存儲多張圖片的……地址? for (int i = 0; i < context.Request.Files.Count; i++) { fileName = filenameformat + i.ToString() + ".png"; files = context.Request.Files[i]; files.SaveAs(Server.MapPath(path) + fileName); //圖片保存 list.Add(path + fileName); //list集合存儲的是各個圖片的完整地址 } for (int i = 0; i < list.Count; i++) { picAddr = picAddr += list[i] + ";"; } return picAddr; } #region 該方法將數據庫返回結果中string類型的地址轉換成string類型的集合對象 public List<string> PicAddrStrToStrList(string picAddr) { string imageUrl = ConfigurationManager.AppSettings["ImageUrl"]; //服務器地址 List<string> list = new List<string>(); string[] arr = picAddr.Split(';'); foreach (string image in arr) { if (!string.IsNullOrEmpty(image)) { list.Add(imageUrl + image); } } return list; } #endregion }
PicOperation po = new PicOperation(); //聲明一個類對象,調用它的方法存儲圖片並返回圖片地址 string photo = ""; if (context.Request.Files.Count > 0) { photo = po.UplodePicAndReturnAddr("comFixedAssets", comid.ToString(), DateTime.Now.ToString("yyMMddmmss"), context); }
讀取調用數據庫
PicOperation po = new PicOperation(); oscusfbr.lpicAddr = po.PicAddrStrToStrList(result[i].fbpicAddr); oscusfbr.fbtype = result[i].fbtype; if (result[i].addr!=null) { oscusfbr.addr = result[i].addr.Trim(); }