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