java分块编码与HttpServletResponse outputStream上的写入?
与直接以小块的形式写入HttpServletResponse输出流相比,分块编码有什么好处
这样做就像下面显示的代码,其中完整的文件内容没有在应用程序内存中缓冲,而不是使用分块编码头发送。我在用IoUtils。下面的复制一次只能从输入流中读取8K字节
@GetMapping("/content")
public void getContent(final HttpServletRequest request,
final HttpServletResponse response) throws IOException {
try(final InputStream is = FileUtils.openInputStream(new File("src/main/resources/test_file.txt"))) {
//Do something with is
response.setHeader("ContentType", MediaType.APPLICATION_OCTET_STREAM_VALUE);
response.setContentLength(70000);
IOUtils.copy(is, response.getOutputStream());
response.flushBuffer();
}
}
共 (0) 个答案