image.ws3

# gif sample - return a image/gif instead of text/html
#
# this example demonstrates how to use cookies with websh3
#

web::command image {

    set nr [format %2.2d [expr int(rand() * 13)]]

    # open a file (JPEG is a binary format)
    set fh [open [file join [web::config document_root] websh images memory $nr.jpg] r]
    fconfigure $fh -translation binary
    set img [read $fh]
    close $fh

    # set HTTP header to "image/jpeg" instead of "text/html"
    web::response -set Content-Type image/jpeg

    # because we return a img, change to binary again
    fconfigure [web::response] -translation binary

    # output
    web::put $img
}

# produce the page of this sample application
proc page {} {

    web::put "<html><head><title>Image Example</title></head>"
    web::put "<body bgcolor=\"#FFFFFF\">"

    # the images: returned by the same app, but a different command
    web::put "<img src=\"[web::cmdurl image]\" width=\"50\" height=\"50\"\"><br>"
    web::put "<a href=\"[web::cmdurl default]\">next</a>"
    # properly close html code
    web::put "</body></html>"
}

web::command default {

    page
}

# dispatch (see "dispatch_example")
web::dispatch

Generated by GNU enscript 1.6.3.