xml 配置
<mvc:annotation-driven conversion-service="conversionService">
<mvc:message-converters>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
controller 层:
@ResponseBody
@RequestMapping(value="/travelTemplDownLoad")
public ResponseEntity<byte[]> travelTemplDownLoad(String fileName){
String root = request.getSession().getServletContext().getRealPath("/");
String filePath = root+"//template//"+fileName;
try
{
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", new String(fileName.getBytes("UTF-8"),"ISO8859-1"));
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(new File(filePath)),
headers, HttpStatus.CREATED);
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}