• Image和Base64相互转换


    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
  • 相关阅读:
    .NET Core 下使用 Exceptionless 记录日志
    .NET Core 下使用 Kafka
    .NET Core 下使用 RabbitMQ
    .NET Core 下使用 ElasticSearch
    .NET Core 下使用 gRPC
    【手摸手,带你搭建前后端分离商城系统】02 VUE-CLI 脚手架生成基本项目,axios配置请求、解决跨域问题
    【手摸手,带你搭建前后端分离商城系统】01 搭建基本代码框架、生成一个基本API
    【开源】Springboot API 一键生成器
    力扣1. 两数之和
    常用代码优化手段
  • 原文地址:https://www.cnblogs.com/ZJ199012/p/10476349.html
Copyright © 2020-2023  润新知