我有一个图像字节数组,需要使用 HTTP 客户端将其发送到服务器上的 servlet。我们知道如何发送普通文本数据,但无法发送图像数据。
我们使用以下代码从图像字节数组创建了字符串数据:
String imageData = new String(imagebyteArr);
并通过 HTTP 客户端将上述 String
发送到 servlet,但是当我们再次使用以下代码从字符串中检索字节数组时:
imageByteArr = imageData.toByteArray();
将结果字节数组修改为 1,其中 -127 被替换为 63。
如何解决这种意外行为?
最佳答案
字符串被编码。您有 2 种可能性:将二进制数据编码为 Base64(例如)发送 Base64 并在服务器端解码或使用 PUT 请求上传二进制数据。
关于java - 无法使用 HTTP 客户端传输图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993115/