圖片 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 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM