У меня есть 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();
SOLVED – как это часто бывает, один из них задает вопрос после нескольких дней битвы, и через несколько минут появляется решение.
Я подумал после комментария об использовании SOAP, который я помню, используя cURL для передачи данных XML раньше. несколько поисков позже, и я столкнулся с гораздо более простым и очень элегантным решением.
http://www.lornajane.net/posts/2008/Accessing-Incoming-PUT-Data-from-PHP
в основном вы можете получить доступ к данным PUT в php, используя
file_get_contents("php://input")
так что теперь он работает отлично