若对图片加密性没有要求的情况下,可以直接使用二进制数据或者base64进行存储。
以下为直接将图片进行二进制转换的实例。
public static string filePath = @"C:\Users\MelanceXin\Desktop\Test\abcs1.jpg";
static void Main(string[] args)
{
byte[] bb= FromImageToBinary(filePath);
Console.WriteLine("FromImageToBinary OK");
Console.ReadKey();
Image img =FromBinaryToImage(bb);
Console.WriteLine("FromBinaryToImage OK");
Console.ReadKey();
}
/// <summary>
/// 将二进制转为图片
/// </summary>
/// <param name="byteArrayImage"></param>
public static Image FromBinaryToImage(byte[] byteArrayImage)
{
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArrayImage))
{
System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms);
ms.Flush();
return returnImage;
//returnImage.Save(filePath);
}
}
/// <summary>
/// 将图片转为二进制
/// </summary>
/// <returns></returns>
public static byte[] FromImageToBinary(string path)
{
System.Drawing.Image returnImage = System.Drawing.Image.FromFile(path);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
returnImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
ms.Flush();
byte[] byteArrayImage = ms.ToArray();
return byteArrayImage;
}
}
关于base64的编码和解码实例,见如下
https://blog.csdn.net/Q672405097/article/details/88414045