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