Programming Reference Manual
 
Syntax
 
SendBinary sBytes$
 
Description
Writes a raw byte-per-character payload directly to the HTTP response body, without any conversion, without managing the Content-Type header, and without appending any end-of-line characters. SendBinary is intended for streaming binary content such as images, PDF documents, ZIP archives, or any other non-textual payload produced by a CCL script.
 
Each character of sBytes$ must have a code point in the range 0 through 255, and will be written as exactly one output byte. The caller is fully responsible for setting the correct Content-Type header in advance, for example "image/png", "application/pdf", or "application/octet-stream", using ParentResponse.Header.Add before the first SendBinary call. The caller is also responsible for preparing the byte-per-char string, which is typically produced by loading the raw bytes into a Chilkat BinData object and then calling its GetString("ansi") method to obtain a VB6 BSTR in which every character corresponds to a single source byte.
 
SendBinary never writes a carriage return or linefeed to the stream, because binary payloads must be delivered byte-exact. For textual responses always use Send, which produces correct UTF-8 output with automatic Content-Type handling. For legacy Windows-1252 textual output use SendAnsi. SendBinary is reserved for true binary content only.
 
Parameter
Description
sBytes$
A byte-per-character string containing the raw binary payload to be written to the HTTP response body. Each character must have a code point between 0 and 255 and represents exactly one output byte.
See Also
Example
 
Sub Main
    Dim oBin As Object
    Dim sImagePath As String
    Dim sBytes As String
 
    sImagePath = "O:\AdminSQL\CBBS\htdocs\images\logo.png"
 
    Set oBin = CreateObject("Chilkat_9_5_0.BinData")
    If Not oBin.LoadFile(sImagePath) Then
        ParentResponse.Status = httpNotFound
        ParentResponse.Send
        Exit Sub
    End If
 
    sBytes = oBin.GetString("ansi")
 
    ParentResponse.Header.Add httpContentType, "image/png", True
    ParentResponse.Header.Add httpContentLength, CStr(oBin.NumBytes), True
    SendBinary sBytes
    ParentResponse.Status = httpOK
    ParentResponse.Send
 
    Set oBin = Nothing
End Sub