Sample code for 30+ languages & platforms
Swift

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 Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = 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.)
    var url: String? = "https://www.fendi.com/it/abbigliamento-uomo/cravatta-fxc160a3nwf0qg2"

    let mht = CkoMht()!

    // Downloads to an MHT string.
    // MHT is just MIME, which is the same format as an email but with different semantics.
    var mhtStr: String? = mht.getMHT(url: url)
    if mht.lastMethodSuccess == false {
        print("\(mht.lastErrorText!)")
        return
    }

    // We can still treat the MHT MIME as an email and iterate over the "related items".
    let email = CkoEmail()!
    success = email.set(fromMimeText: mhtStr)
    if success == false {
        print("\(email.lastErrorText!)")
        return
    }

    var numRelatedItems: Int = email.numRelatedItems.intValue
    var i: Int = 0
    let sbContentType = CkoStringBuilder()!
    while i < numRelatedItems {
        sbContentType.setString(value: email.getRelatedContentType(index: i))
        print("Content-Type: \(sbContentType.getAsString()!)")

        if sbContentType.starts(with: "image/", caseSensitive: false) == true {
            // We have an image.
            // Get the image data.
            var imageData: NSData = email.getRelatedData(index: i)

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

        i = i + 1
    }


}