小编Moh*_*aei的帖子

如何通过java http服务器发送图像

我正在使用HttpServer和开发HTTP服务器HttpHandler.服务器应该使用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();
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码只向浏览器发送512字节的数据.

java http

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

http ×1

java ×1