现在的位置: 首页 > 综合 > 正文

spring mvc 文件下载

2017年12月26日 ⁄ 综合 ⁄ 共 1240字 ⁄ 字号 评论关闭

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;
	}

抱歉!评论已关闭.