java - 无法使用 HTTP 客户端传输图像

标签 java arrays image http byte

我有一个图像字节数组,需要使用 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/

相关文章:

java - 在 Java 中使用 == 运算符比较包装器对象

java - org.apache.cxf.binding.soap.SoapHeader 无法转换为 org.apache.cxf.binding.soap.SoapHeader

Javascript关联数组如何将多个字符串映射到一个数字

ruby - 获取一串 html、将其切碎并将每一部分放入一个数组中的最佳方法是什么?

java - NullPointerException onCreate - android spinner

arrays - 在 Swift 中处理可选变量和数组操作的更好方法

javascript - 将图像转换为 html 部分

image - 使用 tomcat7 和 primefaces 显示来自绝对目录的图像

PHP - 创建缩略图并保持纵横比

java - 在 JDBC 中将 MySQL 数据库的特定表复制到 MariaDB 数据库