将Base64 的图片 转换为图片。保存在本地

public class BatchUpload
    {
        /// <summary>
        /// 上传图片
        /// </summary>
        /// <param name="account">用户工号</param>
        /// <param name="pathName"></param>
        /// <param name="imgs"></param>
        /// <param name="errors"></param>
        /// <returns></returns>
        public static string UploadImages(string account,string pathName, string imgs,ref ValidationErrors errors)
        {
            //上传图片
            string imgNames = "";
            if (!string.IsNullOrEmpty(imgs))
            {
                string[] images = imgs.Split(new string[1] { "~#~#~" }, System.StringSplitOptions.None);
                foreach (string image in images)
                {
                    try
                    {
                        if (image.Length > 0)
                        {
                            string path = System.Web.HttpContext.Current.Server.MapPath("~/Upload/"+ pathName + "/") + account;
                            int lenght = image.IndexOf(";") - image.IndexOf("/") - 1;
                            string suffix = image.Substring(image.IndexOf("/") + 1, lenght);
                            if (!Directory.Exists(path))
                            {
                                Directory.CreateDirectory(path);
                            }
                            int startIndex = image.IndexOf(",") + 1;
                            MemoryStream stream = new MemoryStream(Convert.FromBase64String(image.Substring(startIndex, image.Length - startIndex)));
                            Bitmap img = new Bitmap(stream);
                            string name = Guid.NewGuid().ToString() + "." + suffix;
                            img.Save(path + "//" + name);
                            imgNames += name + ",";
                        }
                    }
                    catch (Exception ex)
                    {
                        errors.Add("保存图片失败");
                        return "";
                    }
                }
                imgNames = imgNames.Substring(0, imgNames.Length - 1);
            }

            return imgNames;
        }
    }

posted @ 2017-01-13 15:15  游林  阅读(1413)  评论(0)    收藏  举报