c#图片base64去转义字符_C# base64编码的字符串与图片互转

本文介绍如何使用C#实现图片与Base64字符串之间的转换,并提供了详细的代码示例。包括将图片文件转换为Base64编码字符串的方法,以及将Base64字符串还原为图片文件的过程。

protected string ImgToBase64String(string Imagefilename)

{

try

{

Bitmap bmp = new Bitmap(Imagefilename);

MemoryStream ms = new MemoryStream();

bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

byte[] arr = new byte[ms.Length];

ms.Position = 0;

ms.Read(arr, 0, (int)ms.Length);

ms.Close();

return Convert.ToBase64String(arr);

}

catch (Exception ex)

{

return null;

}

}

//threeebase64编码的字符串转为图片

protected Bitmap Base64StringToImage(string base64Code)

{

try

{

string sPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

if (sPath.Substring(sPath.Length - 1, 1) != "\\")

{

sPath += "\\";

}

if (!Directory.Exists(sPath + "Temp"))

{

Directory.CreateDirectory(sPath + "Temp");

}

string sFileName = sPath + "Temp\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff");

byte[] arr = Convert.FromBase64String(base64Code);

MemoryStream ms = new MemoryStream(arr);

Bitmap bmp = new Bitmap(ms);

string f1 = sFileName + ".jpg";

string f2 = sFileName + ".bmp";

string f3 = sFileName + ".gif";

string f4 = sFileName + ".png";

bmp.Save(sFileName + ".jpg", ImageFormat.Jpeg);

bmp.Save(sFileName + ".bmp", ImageFormat.Bmp);

bmp.Save(sFileName + ".gif", ImageFormat.Gif);

bmp.Save(sFileName + ".png", ImageFormat.Png);

ms.Close();

#region 读取本地文件

FileStream fs = new FileStream(f1, FileMode.Open, FileAccess.Read);

BinaryReader br = new BinaryReader(fs);

byte[] photo = br.ReadBytes((int)fs.Length);

br.Close();

fs.Close();

Copy(photo);

#endregion

return bmp;

}

catch (Exception ex)

{

Response.Write(ex.Message);

return null;

}

}

protected Bitmap Copy(byte[] arr)

{

try

{

string sPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

if (sPath.Substring(sPath.Length - 1, 1) != "\\")

{

sPath += "\\";

}

if (!Directory.Exists(sPath + "Temp\\Temp"))

{

Directory.CreateDirectory(sPath + "Temp\\Temp");

}

string sFileName = sPath + "Temp\\Temp\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff");

MemoryStream ms = new MemoryStream(arr);

Bitmap bmp = new Bitmap(ms);

string f1 = sFileName + ".jpg";

string f2 = sFileName + ".bmp";

string f3 = sFileName + ".gif";

string f4 = sFileName + ".png";

bmp.Save(sFileName + ".jpg", ImageFormat.Jpeg);

bmp.Save(sFileName + ".bmp", ImageFormat.Bmp);

bmp.Save(sFileName + ".gif", ImageFormat.Gif);

bmp.Save(sFileName + ".png", ImageFormat.Png);

ms.Close();

return bmp;

}

catch (Exception ex)

{

Response.Write(ex.Message);

return null;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值