Can't you simply make your getContent() on ImportResult of type String and "return content.getValue()"?
But actually, if you're doing the processing on the cient-side, how about having the user copy/paste the CSV content in a TextArea rather than upload and re-download it?
(with recent browsers, you can have a FileUpload and get the file's content on the client-side without uploading it to a server; you'd have to use JSNI to detect and then use the feature, but it's IMO really worth it).