There is no need for 
- all those checks
- checking if there is actually a File behind it
- messing with the MessageConverters

Simply read the InputStream out of the resource and write it to the OutputStream (removing @ResponseBody)