public static string ConvertImage(ITwitterSystemImage inputImage) { string fullPath = inputImage.GetFullImagePath(); Image image = Image.FromFile(fullPath); // The right format has to be obtained in order to correctly convert // the image to a Base64 string, that can be sent via AJAX. string[] fileSplit = inputImage.GetFullImagePath().Split('.'); string extension = fileSplit[fileSplit.Length - 1]; ImageFormat format = ImageFormat.Jpeg; switch (extension.ToUpper()) { case "PNG": format = ImageFormat.Png; break; case "GIF": format = ImageFormat.Gif; break; case "BMP": format = ImageFormat.Bmp; break; } using (MemoryStream ms = new MemoryStream()) { // Convert Image to byte[] image.Save(ms, format); byte[] imageBytes = ms.ToArray(); // Convert byte[] to Base64 String string base64String = Convert.ToBase64String(imageBytes); ms.Close(); base64String = "data:image/" + extension + ";base64," + base64String; return base64String; } }
public static ImageOutputModel FromImage(ITwitterSystemImage inputImage) { ImageOutputModel result = new ImageOutputModel() { Content = ConvertImage(inputImage) }; return result; }