如何使用Java设置标题以响应来自GAE的二进制数据

时间:2018-10-28 19:44:40

标签: google-app-engine

我的观察是,在向响应中添加二进制数据时,自定义标头和内容类型会丢失。

例如,这可以按预期工作:

private void teapot(HttpServletResponse response) {
  response.setHeader("Teapot", "Coffee");
  response.setContentType("text/plain");
  response.setStatus(418);
}

响应(在客户端)上的标头看起来像:

{'Teapot': 'Coffee', 'Content-Type': 'text/plain', 'X-Cloud-Trace-Context': 'NNNN', 'Date': 'Sun, 28 Oct 2018 19:29:05 GMT', 'Server': 'Google Frontend', 'Content-Length': '0'}

当我添加这样的二进制数据时:

IOUtils.copy(inputstream, response.getOutputStream());

收到的标头是:

{'X-Cloud-Trace-Context': 'NNNN', 'Date': 'Sun, 28 Oct 2018 19:29:11 GMT', 'Content-Type': 'text/html', 'Server': 'Google Frontend', 'Content-Length': '1336799'}

标头或内容类型都不来自我指定的内容。

如何避免这种情况?

0 个答案:

没有答案