gpt4 book ai didi

http - 在 Image HTTP 响应 Jetty 中包含文本 header

转载 作者:可可西里 更新时间:2023-11-01 17:17:05 26 4
gpt4 key购买 nike

我正在构建一个简单的服务器程序,它需要在响应中同时返回图像和一些文本,但是,我遇到了 Jetty 问题。文本应该包含在 HTTP 响应的 header 中,但实际上没有。

这是返回图像的代码:

override fun doPost(request: HttpServletRequest, response: HttpServletResponse) {
response.contentType = "image/png"
response.status = HttpServletResponse.SC_OK
val diff = ImgDiff.getDifference("img1", "img2", tolerance)
//response.writer.println(diff.toString())
ImageIO.write(ImageIO.read(File("diffedFile.png")), "PNG", response.outputStream)
response.addHeader("diff", diff.toString())
}

这工作正常,但是, header 不包含差异。当我使用注释掉 ImageIO 行并取消注释上面的行时,已经注释掉的行,并将内容类型更改为 text/plain diff 包含在标题中。

带图片的标题:

Date: Mon, 13 May 2019 22:03:35 GMT
Content-Type: image/png
Transfer-Encoding: chunked
Server: Jetty(9.4.18.v20190429)

没有图像的标题(如后一种情况所述)

Date: Mon, 13 May 2019 22:10:32 GMT
Content-Type: text/plain;charset=iso-8859-1
diff: 62.62626262626263
Content-Length: 19
Server: Jetty(9.4.18.v20190429)

我是不是对 Jetty 做错了什么? HTTP响应图片可以不带图片吗?我知道我可以只返回一个包含图像和文本的 zip 文件,但我认为这有点多。我是否忽略了 HTTP 请求的一些基本内容?请告诉我。

最佳答案

如果我在将图像打印到流中之前添加 header ,这似乎可行。

override fun doPost(request: HttpServletRequest, response: HttpServletResponse) {
response.contentType = "image/png"
response.status = HttpServletResponse.SC_OK
val diff = ImgDiff.getDifference("img1", "img2", tolerance)
response.addHeader("diff", diff.toString())
ImageIO.write(ImageIO.read(File("diffedFile.png")), "PNG", response.outputStream)
}

关于http - 在 Image HTTP 响应 Jetty 中包含文本 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56120513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com