サーバーにファイルを送り返すために使用している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();
解決済み-よくあることですが、数日間の戦いの後に質問を投稿し、ほんの数分後に解決策が提示されます。
以前にXMLデータを転送するためにcURLを使用したことを思い出したSOAPの使用についてのコメントの後で考えました。数回検索した後、私ははるかに単純で非常にエレガントな解決策に出くわしました。
http://www.lornajane.net/posts/2008/Accessing-Incoming-PUT-Data-from-PHP
基本的に、以下を使用してphpのPUTデータにアクセスできます。
file_get_contents("php://input")
だから今それは素晴らしく動作します