gpt4 book ai didi

java - 带有图像/jpeg 的 Android HttpURLConnection POST 请求

转载 作者:太空狗 更新时间:2023-10-29 14:47:15 25 4
gpt4 key购买 nike

我正在尝试使用 HttpURLConnection 在 POST 请求中发送图像。我有下一个代码:

String i3 = String.valueOf(System.currentTimeMillis());
ByteArrayOutputStream i4 = new ByteArrayOutputStream();
i4.write(("--" + i3 + System.lineSeparator()
+ "Content-Disposition: form-data; name=\"" + I1.this.i2 + "\"; filename=\"" + I1.this.i2 + ".jpg\"" + System.lineSeparator()
+ "Content-Type: image/jpeg" + System.lineSeparator()
+ "Content-Length: " + String.valueOf(i2.this.i1.length) + System.lineSeparator() + System.lineSeparator()).getBytes());
i4.flush();
i4.write(i2.this.i1);
i4.flush();
i4.write((System.lineSeparator() + System.lineSeparator() + "--" + i3 + "--").getBytes());
i4.flush();
i4.close();
HttpURLConnection i5 = (HttpURLConnection) new URL(myUrl).openConnection();
i5.setRequestMethod("POST");
i5.setDoOutput(true);
i5.setRequestProperty("User-Agent", "Mozilla/5.0");
i5.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + i3);
i5.setFixedLengthStreamingMode(i4.toByteArray().length);
i5.connect();
OutputStream i6 = i5.getOutputStream();
i6.write(i4.toByteArray());
i6.flush();
i6.close();
System.out.println(i5.getResponseCode() + " " + i5.getResponseMessage());
i5.disconnect();

但是当我尝试获取连接应用程序的响应代码/消息时抛出异常:

07-28 12:15:00.722: java.io.IOException: unexpected end of stream on Connection{123.456.789.012:80, proxy=DIRECT@ hostAddress=123.456.789.012 cipherSuite=none protocol=http/1.1} (recycle count=0)

也许问题是我的帖子请求错误或有语法错误?你能帮我说说哪里出了问题吗?


我在 Windows 上的 Java 应用程序上测试了这段代码!请求的结果是 200 OK。结论:android有问题!但我仍然不知 Prop 体是什么。

最佳答案

我找到了解决方案!这个丑陋的字符串 System.lineSeparator() 需要用旧类型 \r\n 替换!太好了。

关于java - 带有图像/jpeg 的 Android HttpURLConnection POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38632231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com