SQL Server
SQL Server
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 SQL Server Downloads
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 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.
DECLARE @mime int
EXEC @hr = sp_OACreate 'Chilkat.Mime', @mime OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
EXEC sp_OAMethod @mime, 'SetBodyFromFile', @success OUT, 'qa_data/photo.jpg'
IF @success = 0
BEGIN
EXEC sp_OAGetProperty @mime, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @mime
RETURN
END
-- Append the serialized MIME bytes to a BinData. Existing bytes are preserved.
DECLARE @bd int
EXEC @hr = sp_OACreate 'Chilkat.BinData', @bd OUT
EXEC sp_OAMethod @mime, 'GetMimeBd', @success OUT, @bd
IF @success = 0
BEGIN
EXEC sp_OAGetProperty @mime, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @mime
EXEC @hr = sp_OADestroy @bd
RETURN
END
EXEC sp_OAGetProperty @bd, 'NumBytes', @iTmp0 OUT
PRINT 'Serialized ' + @iTmp0 + ' bytes.'
EXEC @hr = sp_OADestroy @mime
EXEC @hr = sp_OADestroy @bd
END
GO