使用 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 引起的,则可以通过这种方式解决
如何通过对服务器的 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 引起的,则可以通过这种方式解决