////// 保存base64图片,返回阿里云地址 /// /// ///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; }
////// StreamToBytes /// /// ///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字符串的形式进行传递,这样就涉及到各种转换,现在将可能使用到的方法进行一个记录。///// 将bytes数据转换为stream /// /// 要保存成的文件路径 /// 要保存的数据 ///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; } } /// /// Stream转换为文件 /// /// /// 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; } ////// base64 转换为图片 /// /// ///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 版权声明:本文为博主原创文章,转载请附上博文链接!
最近工作中遇到需要访问外部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 版权声明:本文为博主原创文章,转载请附上博文链接!