zoukankan      html  css  js  c++  java
  • 图片 base64转byte[]

    /// <summary>
            /// 保存base64图片,返回阿里云地址
            /// </summary>
            /// <param name="imgCode"></param>
            /// <returns></returns>
            private string SaveBase64Image(string imgCode)
            {
                string imgUrl = string.Empty;
                if (!string.IsNullOrEmpty(imgCode))
                {
                    Regex reg = new Regex(@"data:(image.+);base64,(.+)");
                    if (reg.IsMatch(imgCode))
                    {
                        var matchs = reg.Match(imgCode);
                        string contentType = matchs.Groups[1].Value;
                        string base64Code = matchs.Groups[2].Value;
                        string extendType = contentType.Replace("image/", "");
                        byte[] arr = Convert.FromBase64String(base64Code);//base64转byte[]
                        //var picture = _pictureService.InsertPicture(arr, extendType);
                    }
                }
                return imgUrl;
            }
      /// <summary>
            /// StreamToBytes
            /// </summary>
            /// <param name="stream"></param>
            /// <returns></returns>
            public static byte[] StreamToBytes(Stream stream)
            {
                byte[] bytes = new byte[stream.Length];
                stream.Read(bytes, 0, bytes.Length);
                // 设置当前流的位置为流的开始
                stream.Seek(0, SeekOrigin.Begin);
                return bytes;
            }
    最近工作中遇到需要访问外部webservice服务对图片和文件进行处理和转换,现在将其中一些经常使用到的方法做一下笔记 
    场景一: 
    使用webservice返回图片内容,然后进行处理,为了方便,现在大多使用base64字符串的形式进行传递,这样就涉及到各种转换,现在将可能使用到的方法进行一个记录。
    
    // <summary>
            /// 将bytes数据转换为stream
            /// </summary>
            /// <param name="fileName">要保存成的文件路径</param>
            /// <param name="dataBytes">要保存的数据</param>
            /// <returns></returns>
            public static Stream BytesToStream(string fileName, byte[] dataBytes)
            {
                if (dataBytes == null)
                {
                    return null;
                }
                //MemoryStream ms = new MemoryStream(dataBytes);
                using (FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate))
                {
                    fs.Write(dataBytes, 0, dataBytes.Length);
                    return fs;
                }
    
            }
            /// <summary>
            /// Stream转换为文件
            /// </summary>
            /// <param name="stream"></param>
            /// <param name="fileName"></param>
            public static void StreamToFile(Stream stream, string fileName)
            {
                // 把 Stream 转换成 byte[]   
                byte[] bytes = new byte[stream.Length];
                stream.Read(bytes, 0, bytes.Length);
                // 设置当前流的位置为流的开始   
                stream.Seek(0, SeekOrigin.Begin);
    
                // 把 byte[] 写入文件   
                FileStream fs = new FileStream(fileName, FileMode.Create);
                BinaryWriter bw = new BinaryWriter(fs);
                bw.Write(bytes);
                bw.Close();
                fs.Close();
            }
             public static byte[] Base64ToBytes(string base64Img)
            {
                if (!string.IsNullOrEmpty(base64Img))
                {
                    byte[] bytes = Convert.FromBase64String(base64Img);
                    return bytes;
                }
                return null;
            }
            /// <summary>
            /// base64 转换为图片
            /// </summary>
            /// <param name="base64"></param>
            /// <returns></returns>
            public static System.Drawing.Bitmap Base64ToImage(string base64)
            {
                if (!string.IsNullOrEmpty(base64))
                {
                    byte[] bytes = Base64ToBytes(base64);
                    if (bytes == null)
                        return null;
                    System.IO.MemoryStream ms = new MemoryStream();
                    ms.Write(bytes, 0, bytes.Length);
                    System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);
                    return bmp;
                }
                return null;
            }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    场景二: 
    客户通过webservice返回的是一个PDF文件,需要我们将PDF转换成图片(不知道客户怎么想的,也没办法,只能照办),查找资料后,确实有这样的第三方库,主要是用到O2S.Components.PDFRender4NET.dll这个库,具体测试代码链接如下 
    将PDF转为图片代码 密码 dxjf
    
    千万不要再乱喝蜂蜜了,美女亲赴深山,揭露背后惊人黑幕!
    聚优 · 顶新
     
    
    Pdf与Base64编码之间的转换
     1.6万
    
    在我们的工作有时候我们需要将图片或者pdf文件转换为Base64编码,然后从服务器端下载传输到本地,在这里我列举下两者之间的转换方法: Base64编码转换为pdf:/** * Descr... 来自:    路漫漫,水迢迢
    C#将文件进行Base64转码解码
     1.2万
    
    是用C#将文件进行Base64转码解码,支持TXT、DOC、XLS等文件。 来自:    小李专栏
    将字符串用Base64解码后保存成Pdf格式的问题,求大牛 急
    07-02
    
    问题描述: 我将获得的string用Base64解码后再保存成Pdf格式的文件,现在问题是保存后打开pdf里面是空白的没数据,能打开说明应该pdf格式应该是没问
    --------------------- 
    作者:zhlantian 
    来源:CSDN 
    原文:https://blog.csdn.net/zhlantian/article/details/77995407 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    最近工作中遇到需要访问外部webservice服务对图片和文件进行处理和转换,现在将其中一些经常使用到的方法做一下笔记 场景一: 使用webservice返回图片内容,然后进行处理,为了方便,现在大多使用base64字符串的形式进行传递,这样就涉及到各种转换,现在将可能使用到的方法进行一个记录。
    // <summary>        /// 将bytes数据转换为stream        /// </summary>        /// <param name="fileName">要保存成的文件路径</param>        /// <param name="dataBytes">要保存的数据</param>        /// <returns></returns>        public static Stream BytesToStream(string fileName, byte[] dataBytes)        {            if (dataBytes == null)            {                return null;            }            //MemoryStream ms = new MemoryStream(dataBytes);            using (FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate))            {                fs.Write(dataBytes, 0, dataBytes.Length);                return fs;            }
            }        /// <summary>        /// Stream转换为文件        /// </summary>        /// <param name="stream"></param>        /// <param name="fileName"></param>        public static void StreamToFile(Stream stream, string fileName)        {            // 把 Stream 转换成 byte[]               byte[] bytes = new byte[stream.Length];            stream.Read(bytes, 0, bytes.Length);            // 设置当前流的位置为流的开始               stream.Seek(0, SeekOrigin.Begin);
                // 把 byte[] 写入文件               FileStream fs = new FileStream(fileName, FileMode.Create);            BinaryWriter bw = new BinaryWriter(fs);            bw.Write(bytes);            bw.Close();            fs.Close();        }         public static byte[] Base64ToBytes(string base64Img)        {            if (!string.IsNullOrEmpty(base64Img))            {                byte[] bytes = Convert.FromBase64String(base64Img);                return bytes;            }            return null;        }        /// <summary>        /// base64 转换为图片        /// </summary>        /// <param name="base64"></param>        /// <returns></returns>        public static System.Drawing.Bitmap Base64ToImage(string base64)        {            if (!string.IsNullOrEmpty(base64))            {                byte[] bytes = Base64ToBytes(base64);                if (bytes == null)                    return null;                System.IO.MemoryStream ms = new MemoryStream();                ms.Write(bytes, 0, bytes.Length);                System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);                return bmp;            }            return null;        }1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768场景二: 客户通过webservice返回的是一个PDF文件,需要我们将PDF转换成图片(不知道客户怎么想的,也没办法,只能照办),查找资料后,确实有这样的第三方库,主要是用到O2S.Components.PDFRender4NET.dll这个库,具体测试代码链接如下 将PDF转为图片代码 密码 dxjf
    千万不要再乱喝蜂蜜了,美女亲赴深山,揭露背后惊人黑幕!聚优 · 顶新 
    Pdf与Base64编码之间的转换 1.6万
    在我们的工作有时候我们需要将图片或者pdf文件转换为Base64编码,然后从服务器端下载传输到本地,在这里我列举下两者之间的转换方法: Base64编码转换为pdf:/** * Descr... 来自:路漫漫,水迢迢C#将文件进行Base64转码解码 1.2万
    是用C#将文件进行Base64转码解码,支持TXT、DOC、XLS等文件。 来自:小李专栏将字符串用Base64解码后保存成Pdf格式的问题,求大牛 急07-02
    问题描述: 我将获得的string用Base64解码后再保存成Pdf格式的文件,现在问题是保存后打开pdf里面是空白的没数据,能打开说明应该pdf格式应该是没问--------------------- 作者:zhlantian 来源:CSDN 原文:https://blog.csdn.net/zhlantian/article/details/77995407 版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    别忘了调用Page.IsValid
    在网站更新时使用App_Offline.htm
    转:零命令玩转Ubuntu 8.10(Wubi安装图文教程)
    转:画Web流程图的一点心得
    c#点对点聊天程序示例
    c#dns解析示例
    c++输出n以内素数问题(埃拉托色尼筛法)
    c#简单字符操作
    C++简单邮箱问题
    c#广播示例
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/10167997.html
Copyright © 2011-2022 走看看