I've never actually tried it, and I don't have any access to a box where I can try it right now. You'd probably need to use the git release, which has the 'readdata' option which isn't in the last official release. And then you'd probably do something like this.
(define handle (curl-easy-init)) (curl-easy-setopt 'url "ftp://hostname") (curl-easy-setopt 'username "username") (curl-easy-setopt 'password "password") (curl-easy-setopt 'readdata (open-file-port "filename")) (curl-easy-perform handle) >