The STOR command
A STOR request asks the server to read the contents of a file from the data connection already established by the client. The STOR parameter is an encoded pathname of the file. The file is either a binary file or a text file, depending on the most recent TYPE request.
If the server is willing to create a new file under that name, or replace an existing file under that name, it responds with a mark using code 150. It then stops accepting new connections, attempts to read the contents of the file from the data connection, and closes the data connection. Finally it
The server may reject the STOR request (code 450, 452, or 553) without first responding with a mark. In this case the server does not touch the data connection.
Some servers allow REST immediately before STOR for binary files, if a previous STOR for the same file transmitted at least the number of bytes given by the start position.
The APPE command
APPE is just like STOR except that, if the file already exists, the server appends the client's data to the file.
The STOU command
STOU is just like STOR except that it asks the server to create a file under a new pathname selected by the server. The STOU parameter is optional; if it is supplied, it is a suggested pathname, which the server will ignore if there is already a file with that pathname.
If the server accepts STOU, it provides the pathname in a human-readable format in the text of its response.