Java 公司获胜时如何传输二进制pdf数据';我不接受Base64,但坚持使用JSON API调用

Java 公司获胜时如何传输二进制pdf数据';我不接受Base64,但坚持使用JSON API调用,java,json,Java,Json,真的 一段时间以来,我一直在努力寻找这个难题的答案 如果对字符串进行编码,则请求大小太大,并且公司无论如何都不会采用Base64。他们实际上需要二进制代码,但需要JSON。有人能解释一下他们认为其他人会怎么做吗?目前我正在这样处理它 String addressProof = null; if (proofRequired) { Part filePart = request.getPart("proof_of_address"); ad

真的

一段时间以来,我一直在努力寻找这个难题的答案

如果对字符串进行编码,则请求大小太大,并且公司无论如何都不会采用Base64。他们实际上需要二进制代码,但需要JSON。有人能解释一下他们认为其他人会怎么做吗?目前我正在这样处理它

    String addressProof = null;

    if (proofRequired)
    {
        Part filePart = request.getPart("proof_of_address");
        addressFileName = getSubmittedFileName(filePart);
        InputStream fileContent = filePart.getInputStream();

        final byte[] bytes = IOUtils.toByteArray(fileContent);
        addressProof = new String(bytes);
        //byte[] bytes64 = Base64.encodeBase64(fileBytes);
        //addressProof = new String(fileBytes);

        fileContent.close();
    }
我是不是有点迟钝,或者整个请求都有点瑕疵

非常感谢。

您可以将其作为十六进制字符串发送(或接收)。看

示例输出为(如果由JSON对象包围):

或者只是普通的十六进制字符串:
“C5192E4190E54F5985ED09C6CD0D4BCC”

你不必一次写(或读)完它。您可以打开两个流(输入和输出),然后流式传输数据。从文件到响应输出流或从请求输入流到文件

抱歉,我不确定您是要发送还是接收字节。

您可以将其作为十六进制字符串发送(或接收)。看

示例输出为(如果由JSON对象包围):

或者只是普通的十六进制字符串:
“C5192E4190E54F5985ED09C6CD0D4BCC”

你不必一次写(或读)完它。您可以打开两个流(输入和输出),然后流式传输数据。从文件到响应输出流或从请求输入流到文件


抱歉,我不确定您是要发送还是接收字节。

二进制代码,但在JSON中:这是一个矛盾。谁是“公司”?你为什么不问问“公司”你应该如何传输PDF文件呢?我已经问过了,他们希望这是可能的,但我实际上还没有完成开发支持,更多的是应用程序支持。我想我会再试一次。@JBNizet是的,对不起,我混淆了概念。二进制代码,但在JSON中:这是一个矛盾。谁是“公司”?你为什么不问问“公司”你应该如何传输PDF文件呢?我已经问过了,他们希望这是可能的,但我实际上还没有完成开发支持,更多的是应用程序支持。我想我会再试一次。@jbnite是的,我把概念弄混了,对不起。
{
    "content": "C5192E4190E54F5985ED09C6CD0D4BCC"
}