You should find a solution which requires NO file transfer for the purpose of obtaining the file metadata (never mind TWO file transfers). If you require the user to upload a file in order to be able to decide if he wants to upload a file, not only is your architecture completely flawed but the application is useless for large files.
Effective file uploads using html forms and servlets are very difficult. Part of the problem is getting the file metadata from the client without actually downloading the file and the other part is using the metadata to drive the interaction and performing the actual download. Although javascript can probably be used to do the first part, it is very limited and poor.
Applets are far more effective (check out JUpload from sourceforge) as is Flash. For the second part, check out the way the spring or tapestry frameworks handle file uploads, as well as apache commons fileupload.