GetRemoteFile Method (ActiveX)

Downloads the file specified by a URL.

Supported platforms: Windows only

Signature

VBA:

object.GetRemoteFile URL, LocalFile, IgnoreCache
object

Type: Utility

The object this method applies to.

URL

Access: Input-only

Type:String

The URL of the file to download.

LocalFile

Access: Output-only

Type: String

The file at the specified URL.

IgnoreCache

Access: Input-only

Type: Boolean

  • True: Download even if the file has already been transferred in this session.
  • False: Do not download if the file has already been transferred in this session.

Return Value (RetVal)

No return value.

Remarks

If you maintain a list of files that have already been downloaded in the current or a previous session (a cache), it may be more efficient to avoid a duplicate transfer and make a copy of the locally available file instead. You can explicitly force a download by setting the IgnoreCache parameter to True, in which case the cache will be bypassed altogether.

When accessing a secure URL, a dialog box will be posted prompting the user for the necessary password information. Message boxes will also appear if the user has not suppressed this activity in the browser.

When downloading a file, AutoCAD creates a temporary file for internal processing. Do not attempt to access this temporary file. Information in this file is deleted at the end of the AutoCAD session.

Examples

VBA:

Sub Example_GetRemoteFile()
    ' This example will prompt the user for a URL to download and will verify that
    ' a proper URL was entered.  After downloading, the example will attempt to load
    ' the downloaded URL as a drawing.
    '
    ' * Note: Remember to delete the downloaded file from your disk drive when finished.
    
    Dim Utility As AcadUtility
    Dim URL As String, DestFile As String, FileURL As String
    
    Set Utility = ThisDrawing.Utility   ' Connect to Utility object
    
GETURL:
    ' Prompt user for a URL to download.  This should be a URL to an AutoCAD drawing file.
    URL = Utility.GetString(False, vbLf & "Enter the complete URL of the file you wish to download: ")
    
    URL = Trim(URL)                     ' Get rid of blank spaces
    
    If URL = "" Then Exit Sub           ' Did user cancel

    ' Determine if user entered a valid URL; if not, prompt again
    If Not (Utility.IsURL(URL)) Then
        MsgBox "The URL you entered is not valid.  Make sure the syntax is a valid URL."
        GoTo GETURL
    End If
        
    ' Download URL
    Utility.GetRemoteFile URL, DestFile, True
    
    ' Display downloaded file information
    MsgBox URL & " was downloaded to: " & DestFile
   
    ' Use IsRemoteFile to determine if this file was downloaded from a URL.
    ' If it was, display the URL it was downloaded from
    '
    ' * Note: Although the results that IsRemoteFile will return are already known
    ' since the file was just downloaded it is important to know how this
    ' method can be used.
    If Utility.IsRemoteFile(DestFile, FileURL) Then
        MsgBox "The file: " & DestFile & " is a downloaded file and was downloaded from: " & FileURL
    Else
        MsgBox "The file: " & DestFile & " is not a downloaded file."
    End If

End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_GetRemoteFile()
    ;; This example will prompt the user for a URL to download and will verify that
    ;; a proper URL was entered.  After downloading, the example will provide information
    ;; about the downloaded drawing.
    ;;
    ;; * Note: Remember to delete the downloaded file from your disk drive when finished.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    (setq Utility (vla-get-Utility doc))   ;; Connect to Utility object
    
    ;; Prompt user for a URL to download.  This should be a URL to an AutoCAD drawing file.
    (setq URL (vla-GetString Utility :vlax-false "\nEnter the complete URL of the file you wish to download: "))
  
    (if (/= URL "")
        (progn
	           (if (= (vla-IsURL Utility URL) :vlax-false)
	               (alert "The URL you entered is not valid.  Make sure the syntax is a valid URL.")
	               (progn
		                  ;; Download URL
		                  (vla-GetRemoteFile Utility URL 'DestFile :vlax-true)
		    
		                  ;; Display downloaded file information
		                  (alert (strcat URL " was downloaded to: " DestFile "\n"))

		                  ;; Use IsRemoteFile to determine if this file was downloaded from a URL.
	              	    ;; If it was, display the URL it was downloaded from
	              	    ;;
		                  ;; * Note: Although the results that IsRemoteFile will return are already known
		                  ;; since the file was just downloaded it is important to know how this
		                  ;; method can be used.
		                  (if (= (vla-IsRemoteFile Utility DestFile URL) :vlax-true)
		                      (alert (strcat "The file: " DestFile " is a downloaded file and was downloaded from: " URL))
		                      (alert (strcat "The file: " DestFile " is not a downloaded file."))
		                  )
	              	)
	           )
	       )
    )
)