java通过http传输大量数据_HTTP状态406 –不可接受[使用spring 4.3.x Java 8从后端流式传输大量数据]...

我正在使用Spring MVC 4.3.X,Java 8,Tomcat 7

码:

@Controller

public class StreamRecordsController {

@RequestMapping(value = "/streamrecords", method = RequestMethod.GET, consumes = MediaType.ALL_VALUE,

produces = "application/octet-stream")

@ResponseBody

public ResponseEntity export() throws FileNotFoundException {

File file = new File("C:\\Users\\Ankur\\sample.pdf");

StreamingResponseBody responseBody = outputStream -> {

Files.copy(file.toPath(), outputStream);

};

return ResponseEntity.ok()

.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=generic_file_name.pdf")

.contentType(MediaType.APPLICATION_OCTET_STREAM)

.body(responseBody);

}

}

例外:

NA4MO.png

邮递员快照

SDWZh.png

题:

我在这里想念什么?

解决方法:

406不可接受

由请求标识的资源仅能够生成响应实体,该响应实体具有根据请求中发送的接受标头不可接受的内容特征.

尝试在控制器方法中使用Produces批注:

@Produces({MediaType.APPLICATION_JSON})

标签:java-8,spring,java,spring-mvc

来源: https://codeday.me/bug/20191024/1922476.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值