简体   繁体   中英

How to extract an Image from HTML file using VB.net

I have few HTML files which has images stored in binary format like below <img src="data:image/png;base64,iVBORw0KGgoAAAANS............>

Only one image per HTML file I need to extract image from each file and save them to png or jpg using a .net application Any help is appreciated

Thanks Jiju

Try this:

Imports System.Drawing

Module Module1

Sub Main()

    Dim ImageText = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFEUExURf////+Kh/+Gg//j4//BwP97eP9jX/+Bfv+5uP/29v+HhP+Mif+mpP/b2/8tJ/8IAP+/vv9ybv8cFv9zb/+1tP9xbf/7+/8uKP/q6v/6+v9KRf9aVv/h4f/9/f/Q0P9AO/9nY/9wbP/09P/Av/85NP+Niv/w8P+tq/9fW//5+f8pI//W1v/OzP82Mf8xK/82MP+Jhv99ev8aFP8SC/8zLf8TDP83Mv81MP/s7P81L/96d/84M/9CPf/19f86Nf8sJv9va/9BPP87Nv8yLP9XU/8RCv8kHv89OP9dWf+cmv8+Of8bFf8hG/+urP90cf94df9TTv+opv9STf+2tf+Aff9EP//Cwf/Y2P9MR/9GQf9taf8gGv+Tkf+Vk/9UUP8WD//FxP9JRP+kov8mIP8XEf9hXf/V1f+0s//39//e3v/S0v/i4pkRhsgAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE5SURBVEhL7ZJXU8JAFIWvqKgoHlE0RBGwoChWVKyI2Hvvvdf//+7evcmMZCIzvjr5HrL3nN1vNpkJeXh4ePyFMp9NuUoVlX5/VbXeqAkEArV1QT0XUw+bBqIQ0KimJt4IS9usTxXRojAQMU2TqBVtUWqPxZFQG2F0mJ1d3UjKOQcGenjpRUrHvn6kWQmpeQCDunMyJMowvxszglFbocyYrpyMizKR0YkoxteJEkVWOgeTWpnCtESKIG4rM3yhC7NaSWNOIuUwz0p+IZVFweocLGolhyWJFMQyKyura+sbVuVkU75la1snoh3ssrJnRTcKouzjQEc6xBErx5JcORHlFMYZr0mcq2cYPg6/cCEKXeIqcX1zi7t7FUorD5ZCj0/qr3p+eeX5raRC79ZK9PH5ZU0/Sg+PfwXRN1h4IRCn6GVqAAAAAElFTkSuQmCC"

    'We don't need 'data:image/png;base64,'
    ImageText = ImageText.Split(",")(1)


    Dim bitmapData As Byte() = Convert.FromBase64String(FixBase64ForImage(ImageText))
    Dim streamBitmap As System.IO.MemoryStream = New System.IO.MemoryStream(bitmapData)
    Dim bitImage As Bitmap = New Bitmap(CType(Image.FromStream(streamBitmap), Bitmap))

    bitImage.Save("c:\temp\test1.png", Imaging.ImageFormat.Png)
End Sub

Public Function FixBase64ForImage(ByVal Image As String) As String
    Dim sbText As System.Text.StringBuilder = New System.Text.StringBuilder(Image, Image.Length)
    sbText.Replace(vbCrLf, String.Empty)
    sbText.Replace(" ", String.Empty)
    Return sbText.ToString()
End Function

End Module

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM