我有一个 java 小程序,我用它来将文件发送回我的服务器 - 在服务器端,我想在 php 页面上接收它。
下面是执行发送的 java 代码,在 php 方面我检查了全局数组,我有 URL 传递的数据,但不是文件数据。我真的在这个上进行了搜索和抓挠,所以任何帮助表示赞赏。
String strURL = sendToURL + "?ACTION=POST&LEN=" + imgBytes.length + "&Fname=picture.png";
try{
URL urlServlet = new URL(strURL);
URLConnection sCon = urlServlet.openConnection();
sCon.setDoInput(true);
sCon.setDoOutput(true);
if (sCon.getAllowUserInteraction()) {
sCon.setAllowUserInteraction(true);
}
sCon.setUseCaches(false);
sCon.setDefaultUseCaches(false);
sCon.setRequestProperty("Content-Type", "text/html");
sCon.setRequestProperty("Connection", "Keep-Alive");
sCon.setConnectTimeout(transferTimeout);
sCon.setReadTimeout(transferTimeout);
DataOutputStream out = new DataOutputStream(sCon.getOutputStream());
int index = 0;
size = 1024;
do {
if (index + size > imgBytes.length) {
size = imgBytes.length - index;
}
out.write(imgBytes, index, size);
index += size;
} while (index < imgBytes.length);
out.write(imgBytes);
out.flush();
out.close();
已解决 - 通常情况下,一个人在经过几天的战斗后发布一个问题,几分钟后就会出现一个解决方案。
在关于使用 SOAP 的评论之后,我想到了我记得曾经使用 cURL 传输 XML 数据的评论。几次搜索后,我遇到了一个更简单且非常优雅的解决方案。
http://www.lornajane.net/posts/2008/Accessing-Incoming-PUT-Data-from-PHP
基本上你可以通过使用访问 php 中的 PUT 数据
file_get_contents("php://input")
所以现在它工作得非常好