Name: libURLftpUploadFile

Type: command

Syntax: libURLftpUploadFile <filePath>, <uploadURL> [, <callbackMessage>]

Summary: <upload|Uploads> a file to an Internet <server> asynchronously via <FTP>.

Introduced: 2.0

OS: mac,windows,linux

Platforms: desktop,server,web

Security: network

Example:
libURLftpUploadFile "/Disk/test.data","ftp://ftp.example.org/test"

Example:
libURLftpUploadFile myFile,field "FTP URL","uploadDone"

Parameters:
filePath: The filePath specifies the name and location of the file you want to upload. If you specify a name but not a location, LiveCode     assumes the file is in the defaultFolder.
uploadURL: The uploadURL specifies the server and location to upload to, in the form of an FTP URL.
callbackMessage: The name of a message to send after the file is uploaded.

Description:
Use the <libURLftpUploadFile> <command> to put a <file> on a <server>.

The <libURLftpUploadFile> <command> transfers the data directly from the <file> to the <server>. Unlike <libURLftpUpload> (or the <put> <command> used with an <FTP> <URL>), the data does not all need to be in memory at once, so this <command> is a better choice for large <files>.

The <libURLftpUploadFile> <command> transfers the file in <binary> mode.

The <callbackMessage> is sent to the <object> whose <script> contains the <libURLftpUpload> <command>, after the <upload> is complete, so you can handle the <callbackMessage> to perform any tasks you want to delay until the file has been <upload|uploaded>. Two <parameter|parameters> are sent with the <message> : the <URL> and the <URLStatus> of the <file>.

>*Important:*  The <libURLftpUploadFile> <command> is part of the <Internet library>. To ensure that the <command> works in a <standalone application>, you must include this <Revolution custom library|custom library> when you create your <standalone application|standalone>. In the Inclusions section of the <Standalone Application Settings> window, make sure "Internet Library" is selected in the list of script libraries.

>*Note:* When included in a <standalone application>, the <Internet library> is implemented as a hidden <group> and made available when the <group> receives its first <openBackground> message. During the first part of the <application|application's> startup process, before this <message> is sent, the <libURLftpUploadFile> <command> is not yet available. This may affect attempts to use this <command> in <startup>, <preOpenStack>, <openStack>, or <preOpenCard> <handler|handlers> in the <main stack>. Once the <application> has finished starting up, the <library> is available and the <libURLftpUploadFile> <command> can be used in any <handler>.

References: script (property), startup (message), openBackground (message), preOpenStack (message), openStack (message), preOpenCard (message), Internet library (library), library (library), Revolution custom library (library), URL (keyword), ftp (keyword), file (keyword), application (glossary), main stack (glossary), handler (glossary), upload (glossary), Standalone Application Settings (glossary), message (glossary), standalone application (glossary), binary (glossary), parameter (glossary), server (glossary), command (glossary), files (function), URLStatus (function), libURLftpUpload (command), libURLDownloadToFile (command), put (command), group (command), object (object)

Tags: networking
