存儲圖片/讀取圖片

    /// <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();
                        }
相關文章
相關標籤/搜索