Running web services would be recommended.
FTP does not necessarily guarantee delivery and you can't be sure the file is downloaded unless you also download a flag file. Alternatively you could write your own FTP process, but thats rather a long way around the problem.
FTP would be faster than web services, unless you are not implementing an XML based web service? But 8MB isn't that big these days.
You do have a number of other solution options, we faced a similar issue, with really big files that was implemented using JSP triggers, FTP and transfer end files... but this is because they originally couldn't find any existing Java solutions that could handle large files... I can't think of anything that wouldn't now.
Or you could implement your own using Java socket connections... would it be faster?
I'd recommend using Web services.