DataFlex
DataFlex
Save a MIME Body (Attachment) to a File
See more MIME Examples
Demonstrates the Chilkat Mime.SaveBody method, which writes the decoded body bytes of the current part to a file. The only argument is the file path. Base64 and quoted-printable are decoded; MIME headers and multipart framing are not written.
Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.
Background: This is the direct way to extract a part's content to disk — saving an attachment or the payload of a part as its real, decoded bytes. Chilkat reverses the transfer encoding so the file contains the actual content, not its Base64 form. To reach a specific attachment in a multipart message, navigate to that part (for example with
PartAt) before calling this.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMime
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatMime)) To hoMime
If (Not(IsComObjectCreated(hoMime))) Begin
Send CreateComObject of hoMime
End
Get ComLoadMimeFile Of hoMime "qa_data/message.eml" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMime To sTemp1
Showln sTemp1
Procedure_Return
End
// Write the decoded body bytes of the current part to a file. Base64 and quoted-printable are
// decoded; MIME headers and multipart framing are not written. This is how you save an
// attachment or the raw content of a part.
Get ComSaveBody Of hoMime "qa_output/body_content.dat" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMime To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Body saved."
End_Procedure