BBjHtmlView::setDownloadDirectory

Description

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

Syntax

Return Value

Method

void

setDownloadDirectory(string directory)

Parameters

Variable Description
directory The default download directory to be used for the BBjHtmlView control.

Return Value

None.

Remarks

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

Example

Copy
BBjHtmlView::setDownloadDirectory Example
rem ' BBjHtmlView setDownloadDirectory
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.