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

Copy
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.