To make sure of the basics:
1.) Basically what you are trying to do is transfer a file on a (remote) client machine into a server machine?
2.) The server machine is, at least, a servlet server and maybe a full app server?
3.) Here I'm kinda vague ... the client is a browser? or a fat
Java client? I'm guessing a browser...
Some possible solutions...
If client is a browser (I think this is what you want):
1.) Use file upload from the browser (see
http://servlets.com/cos/ for servlet classes that handle the file) Use HTML <input type="file"/> on the browser page. Get clever and you may be able to stream directly to the destination application.
If the client is a fat client:
the list here can get huge, these are just a couple of ideas:
1.) open a socket and stream it (not really recommended if you have an app server)
2.) use apache commons http client and send it HTTP (that way a server can reasonably deal with it).
If the client is a browser or a fat client:
1.) Assuming either Windows boxes or Samba on Linux, use CIFS and remotely open the file, given the path through some other mechanism. Note that this has security implications, as in the server needs file access to the client machine. For this reason, this is not recommended. Google "jcifs" though for more info.
Passing an instance of File will not allow you to open a file on a remote machine.