gpt4 book ai didi

java - 在 Java 1.6 中,如何通过 HTTPHandler 在内存中提供 JPEG 服务?

转载 作者:行者123 更新时间:2023-12-01 16:00:45 24 4
gpt4 key购买 nike

我正在致力于创建一个简单的 HTTP 服务器作为 Java 服务器的一部分。该 Java 服务器的一个组件是从网络摄像头实时捕获图像。目前,我正在将图像写入磁盘,并通过 Apache 提供服务。

我最终想要做的是将 JPEG 写入内存中的 JPEG 对象列表,然后使用 HTTPHandler 在请求时提供适当的图像。

我没有看到任何明确的方法来做到这一点。大家有什么想法吗?

以下是我如何获取图像,使用 LTI CIVIL 作为捕获库 - 这将它们保存到磁盘 - 我想将它们存储在内存中:

try
{
String fileName = "image" + System.currentTimeMillis() + ".jpg";

FileOutputStream os = new FileOutputStream(FILE_PATH + fileName);
final JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(os);
jpeg.encode(AWTImageConverter.toBufferedImage(image));

os.close();

log.info("Got image as filename: " + fileName);
}
catch (Exception e)
{
log.error("An error occured", e);
}

最佳答案

如果您使用 ByteArrayOutputStream 而不是 FileOutputStream,您可以捕获输出,然后在完成写入后调用 toByteArray 获取数据.

至于提供它,当您收到图像请求时,将内容类型设置为“image/jpeg”,将内容长度设置为字节数组的长度,然后将字节写入响应的输出流。

关于java - 在 Java 1.6 中,如何通过 HTTPHandler 在内存中提供 JPEG 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994963/

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