SQL Server
SQL Server
Add a Content-Length Header to MIME
See more MIME Examples
Demonstrates the Chilkat Mime.AddContentLength method, which computes the byte length of the entity's serialized body and adds or updates its Content-Length header. It takes no arguments and is a void method. The count is based on the transfer-encoded serialized body.
Note: The file path is relative to the application's current working directory. Absolute paths may also be used. Supply the path to your own file.
Background: Some protocols and consumers want a
Content-Length declaring the body size up front. This computes it correctly from the encoded body — the bytes actually written — rather than the decoded content, and updates any existing header so it stays accurate. Call it after the body is final; if you change the body afterward, call it again, or remove the header, since a stale length is worse than none.Chilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
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, 'LoadMimeFile', @success OUT, 'qa_data/message.eml'
IF @success = 0
BEGIN
EXEC sp_OAGetProperty @mime, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @mime
RETURN
END
-- Compute the byte length of the entity's serialized body and add (or update) its Content-Length
-- header. The count is based on the transfer-encoded serialized body. It is a void method.
EXEC sp_OAMethod @mime, 'AddContentLength', NULL
DECLARE @contentLength nvarchar(4000)
EXEC sp_OAMethod @mime, 'GetHeaderField', @contentLength OUT, 'Content-Length'
EXEC sp_OAGetProperty @mime, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 = 0
BEGIN
EXEC sp_OAGetProperty @mime, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @mime
RETURN
END
PRINT 'Content-Length: ' + @contentLength
EXEC @hr = sp_OADestroy @mime
END
GO