/// <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;
}

场景二: 客户通过webservice返回的是一个PDF文件,需要我们将PDF转换成图片(不知道客户怎么想的,也没办法,只能照办),查找资料后,确实有这样的第三方库,主要是用到O2S.Components.PDFRender4NET.dll这个库,具体测试代码链接如下 将PDF转为图片代码 密码 dxjf