ByteBuffer 到字节数组

svp*_*dga 3 java arrays bytebuffer

我有一个 ByteBuffer,我需要将其内容添加到 POST 请求中,以便远程显示代表的图像;但我不知道该怎么做。

这样做是行不通的:

byteBuffer.array()
Run Code Online (Sandbox Code Playgroud)

我尝试将其转换为字节数组,但它不起作用,因为图像无法正确显示:

byte[] byteArray = new byte[byteBuffer.remaining()];
frame.duplicate().get(byteArray);
HttpResponse response = null;
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(URL);
post.setEntity(new ByteArrayEntity(byteArray));
Run Code Online (Sandbox Code Playgroud)

我也考虑过将其转换为图像并获取其字节数组,但我不知道如何做到这一点以及它是否有效......

任何帮助将不胜感激。

Sal*_*zir 5

private static byte[] getByteArrayFromByteBuffer(ByteBuffer byteBuffer) {
    byte[] bytesArray = new byte[byteBuffer.remaining()];
    byteBuffer.get(bytesArray, 0, bytesArray.length);
    return bytesArray;
}
Run Code Online (Sandbox Code Playgroud)