I think it's worth to have a progressbar (or any kind of feedback) when uploading large files. Passing everthing through an InputStream should enable a progress output like wget.
I started working on this issue already. It the moment I'm looking into Googles Guava to do the IO, but I think I want to keep it inside the JDK classes for now. Using a plain old FileInputStream should do the same.
Should this still be open given the implementation of multi-part upload? That provides feedback with the uploads.