Visual FoxPro
Visual FoxPro
Save a MIME Body to a File
See more MIME Examples
Demonstrates how to save a MIME body to a file. The MIME data file used in this example is available at MIME Sample File.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loMime
LOCAL loPTxt
LOCAL loMpRelated
LOCAL loPHtml
LOCAL loPJpg
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loMime = CreateObject('Chilkat.Mime')
* The contents of this MIME file are shown below,
* and is also available at https://www.chilkatsoft.com/sampleMime.txt
lnSuccess = loMime.LoadMimeFile("qa_data/mime/sampleMime.txt")
IF (lnSuccess = 0) THEN
? loMime.LastErrorText
RELEASE loMime
CANCEL
ENDIF
* The MIME used in this example has the following nested structure
*
* multipart/alternative
* text/plain
* multipart/related
* text/html
* image/jpeg
*
* This example will save each of the non-multipart parts.
* It will create three files -- a .txt, .html, and .jpg.
* Save the body of the text/plain part.
loPTxt = CreateObject('Chilkat.Mime')
lnSuccess = loMime.PartAt(0,loPTxt)
IF (lnSuccess = 0) THEN
? loMime.LastErrorText
RELEASE loMime
RELEASE loPTxt
CANCEL
ENDIF
loPTxt.SaveBody("qa_output/textPart.txt")
* Save the HTML part.
loMpRelated = CreateObject('Chilkat.Mime')
lnSuccess = loMime.PartAt(1,loMpRelated)
IF (lnSuccess = 0) THEN
? loMime.LastErrorText
RELEASE loMime
RELEASE loPTxt
RELEASE loMpRelated
CANCEL
ENDIF
loPHtml = CreateObject('Chilkat.Mime')
lnSuccess = loMpRelated.PartAt(0,loPHtml)
IF (lnSuccess = 0) THEN
? loMpRelated.LastErrorText
RELEASE loMime
RELEASE loPTxt
RELEASE loMpRelated
RELEASE loPHtml
CANCEL
ENDIF
loPHtml.SaveBody("qa_output/htmlPart.html")
* Save the JPG binary data. (The data is automatically base64 decoded prior to saving.)
loPJpg = CreateObject('Chilkat.Mime')
lnSuccess = loMpRelated.PartAt(1,loPJpg)
IF (lnSuccess = 0) THEN
? loMpRelated.LastErrorText
RELEASE loMime
RELEASE loPTxt
RELEASE loMpRelated
RELEASE loPHtml
RELEASE loPJpg
CANCEL
ENDIF
loPJpg.SaveBody("qa_output/jpgPart.jpg")
* --------------------------------------------------------------
* --------------------------------------------------------------
* The MIME sample file loaded at the beginning of this example
* contains the following MIME:
* Subject: Test email.
* Content-Type: multipart/alternative;
* boundary="------------DB171738719FB06D67DEBAA0"
* MIME-Version: 1.0
*
* --------------DB171738719FB06D67DEBAA0
* Content-Type: text/plain; charset="utf-8"; format=flowed
* Content-Transfer-Encoding: 7bit
*
* This is a test.
*
* --------------DB171738719FB06D67DEBAA0
* Content-Type: multipart/related;
* boundary="------------A940F1230E6F0105F03DB2CB"
*
* --------------A940F1230E6F0105F03DB2CB
* Content-Type: text/html; charset="utf-8"
* Content-Transfer-Encoding: 8bit
*
* <html><head>
* <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
* </head>
* <body bgcolor="#FFFFFF" text="#000000">
* <p>This is a test. <img src="cid:part1.E16AE3B4.1505C436@chilkatsoft.com" height="20" width="20"></p>
* </body>
* </html>
*
* --------------A940F1230E6F0105F03DB2CB
* Content-Type: image/jpeg; name="starfish20.jpg"
* Content-Transfer-Encoding: base64
* Content-ID: <part1.E16AE3B4.1505C436@chilkatsoft.com>
* Content-Disposition: inline; filename="starfish20.jpg"
*
* /9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
* NC4w/9sAQwAQCwwODAoQDg0OEhEQExgoGhgWFhgxIyUdKDozPTw5Mzg3QEhcTkBEV0U3OFBtUVdf
* YmdoZz5NcXlwZHhcZWdj/9sAQwEREhIYFRgvGhovY0I4QmNjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj
* Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj/8IAEQgAFAAUAwERAAIRAQMRAf/EABcAAAMBAAAA
* AAAAAAAAAAAAAAIDBAX/xAAYAQADAQEAAAAAAAAAAAAAAAABAgMEAP/aAAwDAQACEAMQAAAB2kZY
* NNEijWKddfTmLgALWH//xAAbEAACAgMBAAAAAAAAAAAAAAABAgMRAAQSE//aAAgBAQABBQL0XqN+
* pM2aqJGMiqFFCyg7z//EABwRAAICAgMAAAAAAAAAAAAAAAERAAIQIQMSUf/aAAgBAwEBPwHqU5aq
* Axx+y1tMQl4elj//xAAcEQEAAQUBAQAAAAAAAAAAAAABEQACEBIhA1H/2gAIAQIBAT8B3Bhqy7Zc
* enyiwmGgDhiOzj//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIREBIhIkFR/9oACAEBAAY/ArZyn+Cg
* xtxWuJaoCnqDuin/xAAcEAABBAMBAAAAAAAAAAAAAAABABEhYRAxQVH/2gAIAQEAAT8hkEwPUUR9
* DYfE4nxtRpIkBTsayuALIiuY/9oADAMBAAIAAwAAABDWPTsf/8QAGhEAAwADAQAAAAAAAAAAAAAA
* AAEREDFBIf/aAAgBAwEBPxC0DVPcWm+Ce4OesrkE6bjH/8QAGBEBAQEBAQAAAAAAAAAAAAAAAREA
* QRD/2gAIAQIBAT8QahMiOc8YgSrnTY3ELclHXn//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAhMUFx
* EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
*
* --------------A940F1230E6F0105F03DB2CB--
*
* --------------DB171738719FB06D67DEBAA0--
*
RELEASE loMime
RELEASE loPTxt
RELEASE loMpRelated
RELEASE loPHtml
RELEASE loPJpg