Sample code for 30+ languages & platforms
Go

Download Web Page to MHT and Extract Images (all in memory)

See more MHT / HTML Email Examples

Downloads a web page to an MHT archive (in memory) and then extracts each image to a byte array in memory.

Chilkat Go Downloads

Go
    success := false

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // Note: This URL exists at the time of writing and testing this example (on 12-June-2020)
    // However, it will surely not continue to exist for very long.
    // You should choose a different URL.  (Any web page with images will do.)
    url := "https://www.fendi.com/it/abbigliamento-uomo/cravatta-fxc160a3nwf0qg2"

    mht := chilkat.NewMht()

    // Downloads to an MHT string.
    // MHT is just MIME, which is the same format as an email but with different semantics.
    mhtStr := mht.GetMHT(url)
    if mht.LastMethodSuccess() == false {
        fmt.Println(mht.LastErrorText())
        mht.DisposeMht()
        return
    }

    // We can still treat the MHT MIME as an email and iterate over the "related items".
    email := chilkat.NewEmail()
    success = email.SetFromMimeText(*mhtStr)
    if success == false {
        fmt.Println(email.LastErrorText())
        mht.DisposeMht()
        email.DisposeEmail()
        return
    }

    numRelatedItems := email.NumRelatedItems()
    i := 0
    sbContentType := chilkat.NewStringBuilder()
    for i < numRelatedItems {
        sbContentType.SetString(*email.GetRelatedContentType(i))
        fmt.Println("Content-Type: ", *sbContentType.GetAsString())

        if sbContentType.StartsWith("image/",false) == true {
            // We have an image.
            // Get the image data.
            imageData := email.GetRelatedData(i)

            // Do what you need with the image data..
        }

        i = i + 1
    }


    mht.DisposeMht()
    email.DisposeEmail()
    sbContentType.DisposeStringBuilder()