Image与Base64String的互转换
public Image Base64ToImage(string base64String) { // Convert Base64 String to byte[] byte[] imageBytes = Convert.FromBase64String(base64String); MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length); // Convert byte[] to Image ms.Write(imageBytes, 0, imageBytes.Length); Image image = Image.FromStream(ms, true); return image; } public string CreateImgToBase64(string imagePath) { Bitmap bmp = (Bitmap)Image.FromFile(imagePath); MemoryStream stream = new MemoryStream(); bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp); stream.Position = 0; byte[] data = new byte[stream.Length]; stream.Read(data, 0, (int)stream.Length); stream.Close(); string base64String = string.Empty; try { base64String = System.Convert.ToBase64String(data, 0, data.Length); } catch { throw; } StreamWriter outFile; try { outFile = new StreamWriter(string.Concat(imagePath, ".txt"), false, Encoding.ASCII); outFile.Write(base64String); outFile.Close(); return base64String; } catch { throw; } bmp.Dispose(); } public void CreateBase64StrToImage(string filePath) { StreamReader reader = new StreamReader(filePath); string str = reader.ReadToEnd(); byte[] bitmapData = new byte[str.Length]; bitmapData = Convert.FromBase64String(FixBase64ForImage(str)); MemoryStream streamBitmap = new MemoryStream(bitmapData); Bitmap bitImage = new Bitmap((Bitmap)Image.FromStream(streamBitmap)); bitImage.Save(filePath.Substring(0, filePath.Length - 4), System.Drawing.Imaging.ImageFormat.Jpeg); bitImage.Dispose(); } static string FixBase64ForImage(string image) { StringBuilder sbText = new StringBuilder(image, image.Length); sbText.Replace("\r\n", string.Empty); sbText.Replace(" ", string.Empty); return sbText.ToString(); }