Visual FoxPro
Visual FoxPro
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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL lcUrl
LOCAL loMht
LOCAL lcMhtStr
LOCAL loEmail
LOCAL lnNumRelatedItems
LOCAL i
LOCAL loSbContentType
LOCAL loImageData
lnSuccess = 0
* 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.)
lcUrl = "https://www.fendi.com/it/abbigliamento-uomo/cravatta-fxc160a3nwf0qg2"
loMht = CreateObject('Chilkat.Mht')
* Downloads to an MHT string.
* MHT is just MIME, which is the same format as an email but with different semantics.
lcMhtStr = loMht.GetMHT(lcUrl)
IF (loMht.LastMethodSuccess = 0) THEN
? loMht.LastErrorText
RELEASE loMht
CANCEL
ENDIF
* We can still treat the MHT MIME as an email and iterate over the "related items".
loEmail = CreateObject('Chilkat.Email')
lnSuccess = loEmail.SetFromMimeText(lcMhtStr)
IF (lnSuccess = 0) THEN
? loEmail.LastErrorText
RELEASE loMht
RELEASE loEmail
CANCEL
ENDIF
lnNumRelatedItems = loEmail.NumRelatedItems
i = 0
loSbContentType = CreateObject('Chilkat.StringBuilder')
DO WHILE i < lnNumRelatedItems
loSbContentType.SetString(loEmail.GetRelatedContentType(i))
? "Content-Type: " + loSbContentType.GetAsString()
IF (loSbContentType.StartsWith("image/",0) = 1) THEN
* We have an image.
* Get the image data.
loImageData = loEmail.GetRelatedData(i)
* Do what you need with the image data..
ENDIF
i = i + 1
ENDDO
RELEASE loMht
RELEASE loEmail
RELEASE loSbContentType