PureBasic
PureBasic
Serialize MIME to BinData
See more MIME Examples
Demonstrates the Chilkat Mime.GetMimeBd method, which serializes the complete MIME entity and appends its bytes to a BinData. The only argument is the BinData; existing bytes are preserved.
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 byte-exact serializer — the right choice when the MIME carries binary content such as an image or an 8-bit-encoded part, where routing the output through a text string could corrupt it. The result is a faithful byte stream you can write to a file, transmit, or hash. It pairs with
LoadMimeBd for lossless round-tripping of binary MIME.Chilkat PureBasic Downloads
IncludeFile "CkBinData.pb"
IncludeFile "CkMime.pb"
Procedure ChilkatExample()
success.i = 0
; Demonstrates the Mime.GetMimeBd method, which serializes the complete MIME entity and appends
; its bytes to a BinData. The only argument is the BinData. Use this when arbitrary binary body
; bytes must not pass through a text string.
mime.i = CkMime::ckCreate()
If mime.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkMime::ckSetBodyFromFile(mime,"qa_data/photo.jpg")
If success = 0
Debug CkMime::ckLastErrorText(mime)
CkMime::ckDispose(mime)
ProcedureReturn
EndIf
; Append the serialized MIME bytes to a BinData. Existing bytes are preserved.
bd.i = CkBinData::ckCreate()
If bd.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkMime::ckGetMimeBd(mime,bd)
If success = 0
Debug CkMime::ckLastErrorText(mime)
CkMime::ckDispose(mime)
CkBinData::ckDispose(bd)
ProcedureReturn
EndIf
Debug "Serialized " + Str(CkBinData::ckNumBytes(bd)) + " bytes."
CkMime::ckDispose(mime)
CkBinData::ckDispose(bd)
ProcedureReturn
EndProcedure