Library: File system utilities (OMVFS)
Import : omvfs.xmd

Returns: a vfs.file object representing the file

export external file function open-ftp
                     value string     filename
        on           value directory  on-dir      optional
        for          value integer    access-type optional initial {read-mode}

Argument definitions

The URL the file to be opened.
A connected vfs.directory object. This parameter is not supported in the current implementation.
An integer constant signifying the desired mode of access. The default value is vfs.read-mode.


You can use vfs.open-ftp to open a file that resides on an FTP server. vfs.open-ftp creates a vfs.file object that represents the file, and which can be used with various OMVFS functions to manipulate the file.

     local vfs.file foo
     set foo 
      to vfs.open-ftp "ftp://ftp.omnimark.com/test.txt"
      for vfs.read-mode

Transfers to and from FTP servers may be made in either binary mode or text mode. This is determined not by a parameter of the vfs.open-ftp function but by the use of binary-mode or text-mode modifiers on a stream attached to the vfs.file object:

  import "omvfs.xmd" prefixed by vfs.
     local vfs.file foo
     local stream bar
     set foo 
      to vfs.open-ftp "ftp://ftp.omnimark.com/test.txt"
      for vfs.read-mode
     set bar to binary-mode vfs.reader of foo 
     output bar

Note that the OMVFS library functions do not do "URL fix-up", which means that the URL "ftp://ftp.omnimark.com" (without the final slash) will not be accepted. Nor will a URL that lacks the introductory "ftp://".

Note that not all OMVFS functions are supported by all protocols. You will receive a runtime error if you attempt to perform an operation on a file on anFTP server if that operation is not supported by the FTP protocol, or if that function is not supported in the current version of OMVFS. In the current implementation, the following functions are supported:

You may specify the mode in which the file is opened. The default mode is read mode. The following modes are available:


The following exceptions may occur: