我正在使用 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<StreamingResponseBody> 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);
}
}
异常(exception)情况:
postman 快照
我在这里错过了什么?
最佳答案
406 Not Acceptable
请求标识的资源只能根据请求中发送的接受 header 生成具有 Not Acceptable 内容特征的响应实体。
尝试在 Controller 方法中使用 Produces 注释:
@Produces({MediaType.APPLICATION_JSON})
关于java - HTTP 状态 406 – Not Acceptable [使用 spring 4.3.x + Java 8 从后端流式传输大量数据],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56005549/