Rückmeldung einer POST Anfrage empfangen

uwe75-1

Mitglied
Hallo,

also erstmal Entschuldigung falls mein Problem hier schon besprochen wurde, aber über die Suchfunktion konnte ich nichts finden - selbst mit dem Stichwort POST wurde nicht ein einziger Beitrag gefunden. Deshalb bitte ich um Eure Hilfe:

ich übertrage einige Formularfelder und eine Datei per POST an ein PHP Skript. Wenn dieses Skript die datei ordnungsgemäß auf der neuen Domän gespeichert hat, dann wird das Skript mit die(); beendet und eine Statusanmeldung zurück an mein JAVA Skript gesendet.
Wie kann ich diese Rückmeldung nun in meinem JAVA Skript weiter auswerten:

Hier die Zwei Skripte:

Java:
public void moveToWebspace(File theFile, String targetHost, String targetDir)
{
	try {
		InetAddress addr = InetAddress.getByName(targetHost);
		Socket socket = new Socket(addr, 80);
		String path ="/uploadzip.php";
		DataInputStream fis = new DataInputStream(new BufferedInputStream(new FileInputStream(theFile)));
		byte[] theData = new byte[(int) theFile.length()];
		fis.readFully(theData);
		fis.close();
		DataOutputStream raw = new DataOutputStream(socket.getOutputStream());
		Writer wr = new OutputStreamWriter(raw);
		
		String command = "--dill\r\n" + "Content-Disposition: form-data; name=\"image\"; filename=\"" +
			theFile.getName() + "\"\r\n" + "Content-Type: image/jpeg\r\n" +"\r\n";
		String commandmore = "--dill\r\n"+"Content-Disposition: form-data; name=\"path\"\r\n\r\n" + targetDir + "\r\n";
	
		String trail = "\r\n--dill--\r\n";
	
		String header = "POST " + path + " HTTP/1.0\r\n" + "Accept: */*\r\n" +
			"Referer: http://localhost:8080\r\n" + "Accept-Language: de\r\n" +
			"Content-Type: multipart/form-data; boundary=dill\r\n" +
			"User_Agent: TESTAGENT\r\n" + "Host: " + targetHost + "\r\n" +
			"Content-Length: " + ((int) theFile.length() + commandmore.length() + command.length() + trail.length()) + "\r\n" +
			"Connection: Keep-Alive\r\n" + "Pragma: no-cache\r\n" + "\r\n";
		
		wr.write(header);
		wr.write(commandmore);
		wr.write(command);
		wr.flush();
		raw.write(theData);
		wr.write("\r\n--dill--\r\n");
		wr.flush();
		wr.close();
		raw.close();
		socket.close();
		//PrintWriter webout = new PrintWriter(System.out,true);
		//webout.println(header+commandmore+command+trail);
	}
	catch (Exception e) {
		e.printStackTrace();
	}
}

Nu das PHP Skript:

PHP:
<?php
	$path = $_POST['path'];
	//if(strpos($path, '/') !== false)
	//	die('Illegal / in name');
	if(strpos($_FILES['image']['name'], '/') !== false)
		die('Illegal / in name');
	if(!getimagesize($_FILES['image']['tmp_name']))
		die('Illegal image type');
	if(file_exists($path.'/'.$_FILES['image']['name']))
		die('File exists');
	
	$umlaute = Array("ä","ö","ü","Ä","Ö","Ü","ß","&","/"," ");
	$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss","_","_","_");
	$_FILES['image']['name'] = str_replace($umlaute, $replace, $_FILES['image']['name']);

	// Copy images
	//umask(0000);
	if(!is_dir($path)) mkdir($path);
	move_uploaded_file($_FILES['image']['tmp_name'], $path.$_FILES['image']['name']);
	chmod ($path.$_FILES['image']['name'],0777);
	die('ok');
?>

Vielen Dank im Voraus
Uwe
 
Zuletzt bearbeitet von einem Moderator:
Zurück