如何在Java中将字节[]形式的Base64解码图像发送到HttpPost
我正在以名为文件的JSON密钥中的Base64编码字符串形式接收图像如何在Java中将字节[]形式的Base64解码图像发送到HttpPost,java,file-upload,base64,jax-rs,Java,File Upload,Base64,Jax Rs,我正在以名为文件的JSON密钥中的Base64编码字符串形式接收图像 { "fileName":"Feedback_image.jpg", "file":" // image data being sent from android " } 我正在使用decode函数在服务器端对base64编码字符串进行解码 byte[] imageByteArray = Base64.getDecoder().d
{
"fileName":"Feedback_image.jpg",
"file":" // image data being sent from android "
}
我正在使用decode函数在服务器端对base64编码字符串进行解码
byte[] imageByteArray = Base64.getDecoder().decode(imageUploadDTO.getFile());
我甚至可以将图像写入windows,并且成功创建了图像。现在我面临的问题是,我必须将图像作为多部分实体发送到第三部分PostAPI。
我正在尝试使用以下代码形成HttpPost,但是图像没有正确地发送到第三方服务器
public HttpPost getHttpPostRequest(String requestUrl, byte[] imageByteArray ,String fileName) throws Exception {
HttpPost httpPostRequest = new HttpPost(requestUrl);
httpPostRequest.addHeader(CRGERaagaAppConstants.CONTENT_TYPE, MediaType.MULTIPART_FORM_DATA);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
ContentBody cd = new InputStreamBody(new ByteArrayInputStream(imageByteArray), fileName);
builder.addPart("fileName", cd);
HttpEntity entity = builder.build();
httpPostRequest.setEntity(entity);
return httpPostRequest;
}
有人能告诉我如何从Base64编码字符串中正确检索图像内容并发送到HttpPost吗?也许这能帮助您:这是否回答了您的问题?所有的解决方案都希望在处理之前写入本地存储,遗憾的是我没有这个选项.Files.copy(File,OutputStream)将文件内容复制到请求中。您应该能够使用上面链接中的代码。只需将File.copy替换为填充请求输出流的其他文件?“图像未正确发送到第三方服务器”,您能否更详细地描述一下?例如,文件上传是否不完整,服务器是否响应错误。。。?