BBjHtmlView::getDownloadDirectory

Description

In BBj 20.30 and higher, this method returns the default download directory for this BBjHtmlView control.

Syntax

Return Value

Method

string

getDownloadDirectory()

Parameters

None.

Return Value

Returns the default download directory for the BBjHtmlView control.

Remarks

As of BBj 20.30, this value is only meaningful with the CHROMIUM_HTMLVIEW client.

Example

rem ' BBjHtmlView::getDownloadDirectory Example

rem ' BBjHtmlView getDownloadDirectory
url$ = ::BBUtils.bbj::BBUtils.getWebServerURL()+"index.html"
filename$ = "zip.zip"; rem ' must be a binary file
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
window! = sysgui!.addWindow(25,25,600,500,url$,$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setCallback(window!.ON_RESIZE,"resize")
htmlview! = window!.addHtmlView(102,25,25,550,450,"",$$)
htmlview!.setCallback(htmlview!.ON_PAGE_LOADED,"on_page_loaded")
htmlview!.setUrl(url$)
clientType$ = htmlview!.getClientType()
clientVersion$ = htmlview!.getClientVersion()
title$ = window!.getTitle() + " " + clientType$ + " " + clientVersion$
window!.setTitle(title$)
print "getDownloadDirectory ",htmlview!.getDownloadDirectory()
download$ = System@.getProperty("user.home")+"/Downloads"
htmlview!.setDownloadDirectory(download$)
print "getDownloadDirectory ",htmlview!.getDownloadDirectory()
copyFromClient = 0
if (msgbox("ON_HTMLVIEW_DOWNLOAD?",4+32)=6) then
    htmlview!.setCallback(htmlview!.ON_HTMLVIEW_DOWNLOAD,"on_htmlview_download")
    copyFromClient = msgbox("Copy downloaded files from client to server?",4+32)=6
endif
process_events

eoj:
release

resize:
    gosub event
    width = event!.getWidth() - 50
    height = event!.getHeight() - 50
    htmlview!.setSize(width,height)
    print width,height
return

event:
    event! = sysgui!.getLastEvent()
    print event!.getEventName()," ",event!.getControl()
return

on_page_loaded:
    event! = sysgui!.getLastEvent()
    print event!.getEventName()," ",event!.getUrl()
    if event!.getUrl().equals("about:blank") then return
    htmlview!.clearCallback(htmlview!.ON_PAGE_LOADED)

    rem ' This must be a binary file to trigger a file download
    script$ = "window.location.href=""/"+filename$+""""
    print script$
    htmlview!.executeScript(script$)
return

on_htmlview_download:
    event! = sysgui!.getLastEvent()
    print event!.getEventName()," suggested=",event!.getSuggestedFileName()," filename=",event!.getClientFileName()," size=",event!.getClientFileSize()
    if (copyFromClient) then
        tc! = bbjapi().getThinClient()
        fs! = tc!.getClientFileSystem()
        cf! = fs!.getClientFile(event!.getClientFileName())
        if (cf!.exists()) then
            server$ = cf!.copyFromClient()
            print "Copied client file ",cf!," to server file ",server$
            server = unt
            open (server)server$
            xfin$ = xfin(server)
            bytes = dec(xfin$(1,8))
            close (server)
            print "Server file ",server$," size:",bytes," bytes."
        else
            print "Client file ",cf!," doesn't exist."
        endif
    endif
return

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

BBj Object Diagram for an illustration of the relationship between BBjObjects.