zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    安卓系统隐藏滚动条
    jquery 失去焦点时输入框为空时自动填写默认内容
    移动端左右滑动代码
    [转]C#使用FFmpeg 将视频格式转换成MP4示例
    [转]Windows 使用ffmpeg将MP4视频转换为m3u8格式
    [转]搭建flutter开发环境
    [转]ios webview下纯JS实现长按
    [转]SQLServer查询数据库各种历史记录
    [转]Java多线程学习(总结很详细!!!)
    [转]安卓加固之so文件加固
  • 原文地址:https://www.cnblogs.com/ZJ199012/p/10476349.html
Copyright © 2011-2022 走看看