使用 http 调用发送 application/pdf 内容

Send application/pdf content with http call

如何通过对服务器的 http 调用上传 pdf。

我目前正在将 pdf 内容加载到一个变量并尝试使用 http:

发送它
byte[] pdfContent;

String output = "";

try {
    pdfContent = Files.readAllBytes(Paths.get("C:...//test.pdf"));
    url = new URL(url);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoOutput(true);
    conn.setRequestProperty("Content-Type", "application/pdf");
    conn.setConnectTimeout(5000);
    conn.setReadTimeout(5000);
    conn.setRequestMethod("POST");
    
    DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
    wr.writeBytes(pdfContent.toString());
    wr.flush();
    wr.close();

我得到的错误是:

 Wrong content! The content of file 'test.pdf' does not match its presumed content type ('application/pdf').

发送 pdf 以供上传的正确方法是什么? 将二进制内容加载到变量并将其写入连接是否不正确?

你试过了吗wr.write(pdfContent); ? write() 函数将 byteArray 作为参数,因此如果问题是由转换为 String 引起的,则可以通过这种方式解决