我正在使用
到目前为止,我已经开发了一些
图片不应该完全加载到内存中,所以我需要一种流式解决方案。
这段代码只是向浏览器发送了512字节的数据。
HttpServer
和 HttpHandler
开发一个HTTP服务器。该服务器应该能够向客户端响应XML数据或图像。到目前为止,我已经开发了一些
HttpHandler
实现来响应客户端的XML数据,但是我无法实现一个从文件读取图像并将其发送给客户端(例如浏览器)的 HttpHandler
。图片不应该完全加载到内存中,所以我需要一种流式解决方案。
public class ImagesHandler implements HttpHandler {
@Override
public void handle(HttpExchange arg0) throws IOException {
File file=new File("/root/images/test.gif");
BufferedImage bufferedImage=ImageIO.read(file);
WritableRaster writableRaster=bufferedImage.getRaster();
DataBufferByte data=(DataBufferByte) writableRaster.getDataBuffer();
arg0.sendResponseHeaders(200, data.getData().length);
OutputStream outputStream=arg0.getResponseBody();
outputStream.write(data.getData());
outputStream.close();
}
}
这段代码只是向浏览器发送了512字节的数据。
<img src="/路径/到/允许下载图片的Servlet或处理程序或操作的路径" />
- JB Nizet