*Edit: I was writing baloney, as I hadn't read the question properly, this post had a field-operation idiotectomy, now it hopefully relates to the question somewhat .. ;-)
I think the recommended steps would be to use some traditional port 21 active/passive type ftp server that provides an SSL/TLS layer on top of the standard old school chroot'ed user ftp dropbox.
vsftpd is example of an ftp server which can be configured to use ssl and supports low level configuration of user permissions allowing you to create a authenticated dropbox style ftp system.
I would create separate users for this ftp project, with shell /sbin/nologin and add them to a text file, which can be passed to vsftpd as permitted local users.
you can also set the following options to restrict the users similar to your requirements
#If set to NO, all directory list commands will give permission denied.
#If set to NO, all download requests will give permission denied.
#If activated, all non-anonymous logins are forced to use a secure SSL connection
#If activated, all non-anonymous logins are forced to use a secure SSL
#obfusciate, probably not needed given directory listing restrictions
# allow users with no shell to access ftp, but you have to disable these users via the
#vsftpd local permitted users list, not via /etc/passwd
You will also need also to use some configurations to enforce the write-only, no delete requirement, this probably requires you to specify a list of appropriate commands using teh cmds_allowed and cmds_denied configuration options.
There is a list of ftp commands with a brief explanation here;, you might have to try some trial and error, as these are not field tested...
#something like the following...
#add any other commands that allow READ or DELETE, or rename, etc.
there are various docs available, which discuss possible vsftpd settings here - http://viki.brainsware.org/?en/cmds_allowed
You can completely customize the commands available from the full list here; https://calomel.org/vsftpd.html
explanation of commands is here;