I've done that with Filezilla server on Windows. Give the upload directory write but no read permission and they can upload but not download (including not retrieving a directory list). The only side effect is they get an error in the FTP client when they connect and after they upload. FTP clients try to pull listings after both events.
Edit:
If you can't have error messages, you'll probably have to grab the files and move them as soon as they're uploaded. Check out inotifywait from the inotify-tools package or this article about using it to move files.
I've done that with Filezilla server on Windows. Give the upload directory write but no read permission and they can upload but not download (including not retrieving a directory list). The only side effect is they get an error in the FTP client when they connect and after they upload. FTP clients try to pull listings after both events.
Edit:
If you can't have error messages, you'll probably have to grab the files and move them as soon as they're uploaded. Check out inotifywait from the inotify-tools package or this article about using it to move files.
No, this is not how the FTP-Protocol works. If you don't want customers to see the files from one another, create multiple users.