首页 > 其他 > 详细

Image和Base64相互转换

时间:2019-03-05 14:16:04      阅读:139      评论:0      收藏:0      [点我收藏+]

1.图片转换为Base64

技术分享图片
 /// <summary>
        /// 图片转换为base64
        /// </summary>
        /// <param name="imagefile">图片路径</param>
        /// <param name="picFomatter">图片格式(.jpg、.png等)</param>
        /// <returns></returns>
        public string GetBase64FromImage(string imagefile,string picFomatter)
        {
            string strbaser64 = "";
            try
            {
                Bitmap bmp = new Bitmap(imagefile);
                MemoryStream ms = new MemoryStream();

                ImageFormat format = ImageFormat.Jpeg;

                switch (picFomatter)
                {
                    case "png":
                        format = ImageFormat.Png;
                        break;
                    case "bmp":
                        format = ImageFormat.Bmp;
                        break;
                }

                bmp.Save(ms, format);
                byte[] arr = new byte[ms.Length];
                ms.Position = 0;
                ms.Read(arr, 0, (int)ms.Length);
                ms.Close();
                ms.Dispose();
                strbaser64 = Convert.ToBase64String(arr);
                switch (picFomatter)
                {
                    case "jpg":
                        strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
                        break;
                    case "jpeg":
                        strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
                        break;
                    case "bmp":
                        strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
                        break;
                    default:
                        strbaser64 = "data:image/png" + ";base64," + strbaser64;
                        break;
                }
            }
            catch (Exception)
            {
                throw new Exception("Something wrong during convert!");
            }
            return strbaser64;
        }
View Code

2.Base64转换图片

技术分享图片
 /// <summary>
        /// Base64转换图片
        /// </summary>
        /// <param name="strbase64">base64字符串</param>
        /// <param name="picFomatter">图片格式</param>
        /// <returns></returns>
        public string Base64StringToImage(string strbase64, string picFomatter)
        {
            try
            {
                byte[] arr = Convert.FromBase64String(strbase64);
                MemoryStream ms = new MemoryStream(arr);
                Bitmap bmp = new Bitmap(ms);
                string filePath = System.AppDomain.CurrentDomain.BaseDirectory;
                ImageFormat format = ImageFormat.Jpeg;

                switch (picFomatter)
                {
                    case "png":
                        format = ImageFormat.Png;
                        break;
                    case "bmp":
                        format = ImageFormat.Bmp;
                        break;
                }
                string filename = filePath + DateTime.Now.ToFileTime().ToString() + "." + picFomatter;
                bmp.Save(filename, format);
                ms.Close();
                return filename;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
View Code

 

技术分享图片
/// <summary>
        /// 判断是否Base64编码
        /// </summary>
        /// <param name="s">编码字符串</param>
        /// <returns></returns>
        public bool IsBase64(string s)
        {
            try
            {
                Convert.FromBase64String(s);
                return true;
            }
            catch (FormatException)
            {
                return false;
            }
        }
View Code

 

Image和Base64相互转换

原文:https://www.cnblogs.com/ZJ199012/p/10476349.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!