@Component
public class TextFileDownloadView extends AbstractFileDownloadView {
   @Override
   protected InputStream getInputStream(Map<String, Object> model,
           HttpServletRequest request) throws IOException {
       Resource resource = new ClassPathResource("abc.txt");
       return resource.getInputStream();
   }
   @Override
   protected void addResponseHeader(Map<String, Object> model,
           HttpServletRequest request, HttpServletResponse response) {
       response.setHeader("Content-Disposition", "attachment; filename=abc.txt");
       response.setContentType("text/plain");
   }
}
@RequestMapping(value = "/downloadTxt", method = RequestMethod.GET)
public String downloadTxt1() {
    return "textFileDownloadView";
}
Originate from http://rensanning.iteye.com/blog/2356942
原文:http://www.cnblogs.com/luffystory/p/7475963.html