Datei Upload Methode funktioniert nicht

eaglestar

Mitglied
Ich habe eine Methode geschrieben, um eine lokal gespeicherte Datei an eine Internetadresse zu schicken.

Hier mein Code:
Java:
public void xmlHochladen(String cookie){
    	try{
    		URL xmlURL = new URL("ZielURL'");
    		HttpURLConnection xmlURLCon = (HttpURLConnection) xmlURL.openConnection ();
    	//Cookie wird mitgegeben
    		xmlURLCon.setRequestProperty("Cookie", cookie);
    		xmlURLCon.setDoOutput(true);
    		File file = new File("c:/desktop/datei.xml");
    		BufferedInputStream xmlFileStreamIn = new BufferedInputStream (new FileInputStream(file));
    		BufferedOutputStream xmlSendeStream  = new BufferedOutputStream(xmlURLCon.getOutputStream());
    	//FileInputStream auslesen
    		byte[] buffer = new byte[200000];
    		int len;
    		while ((len = xmlFileStreamIn.read(buffer)) != -1) {
    			xmlSendeStream.write(buffer, 0, len);
            }
    		xmlSendeStream.flush();
    		xmlSendeStream.close();
    		xmlFileStreamIn.close();
    		System.out.println("Info: Aktuelle config.xml wurde hochgeladen");
    	}catch(Exception e){
    		System.out.println("Fehler: Hochladen der config.xml gescheitert"+e.getMessage());
    	}
	}

Erkennt jemand einen Fehler?
Die entsprechende Methode zum runterladen habe ich auch schon und die funktioniert.

Gurß
eagle
 
Hmm...keiner eine Idee oder einen Tipp, wie ich Clientseitig eine Datei an einen Server senden kann? Also quasi den manuellen Upload über eine Webseite simuliere?

Hier noch mal ein Code versuch der aber leider auch noch nicht funktioniert.

Java:
public void xmlHochladen(String cookie){
    	try{
    		URL xmlURL = new URL("http://URL");
    		HttpURLConnection xmlURLCon = (HttpURLConnection) xmlURL.openConnection ();
    	//Cookie wird mitgegeben
    		xmlURLCon.setRequestProperty("Cookie", cookie);
    		xmlURLCon.setDoOutput(true);
    		xmlURLCon.setRequestMethod("POST");
    		xmlURLCon.setRequestProperty("Accept-Charset", "ISO-8859-1, utf-8;q=0.66, *;");
    		xmlURLCon.setRequestProperty("Keep-Alive", "300");
    		xmlURLCon.setRequestProperty("Connection", "Keep-Alive");
    		xmlURLCon.setRequestProperty("Content-Type", "multipart/form-data;boundary=" +   CONTENT_BOUNDARY);    		
            xmlURLCon.setRequestProperty("Content-Length","170033");


//    		BufferedInputStream xmlFileStreamIn = new BufferedInputStream (new FileInputStream("c:/prisma/Projektarbeit/configXML_save/config.xml"));
//    		BufferedOutputStream xmlSendeStream  = new BufferedOutputStream(xmlURLCon.getOutputStream());
//    	//FileInputStream auslesen
//    		byte[] buffer = new byte[200000];
//    		int len;
//    		while ((len = xmlFileStreamIn.read(buffer)) != -1) {
//    			xmlSendeStream.write(buffer, 0, len);
//            }
//    		xmlSendeStream.flush();
//    		xmlSendeStream.close();
//    		xmlFileStreamIn.close();
    		//*******************************
        	//lokale XML wird ausgelesen
    		String s ="";
    		BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("c:/prisma/config.xml")));       		
            String line;
//            while ((line = in.readLine()) != null) {
//                s += line;
//            }
            	//Seiteninhalten (InputStream) ausgeben
    		//*******************************
            DataOutputStream dos = new DataOutputStream(xmlURLCon.getOutputStream());
            
            dos.write((CONTENT_BOUNDARY + "\r\n" +"Content-Disposition: form-data; name=\"actionType\"\r\n\r\n"+" importExport\r\n").getBytes());
            dos.write((CONTENT_BOUNDARY + "\r\n" +"Content-Disposition: form-data; name=\"passwordIn\"\r\n\r\n"+" 12345678\r\n").getBytes());
            dos.write((CONTENT_BOUNDARY + "\r\n" +"Content-Disposition: form-data; name=\"import\"\r\n\r\n"+" Import Configuration\r\n").getBytes());
            dos.write((CONTENT_BOUNDARY + "\r\n" + "Content-Disposition: form-data; name=\"importFileName\"; filename=\"config.xml\"\r\nContent-Type: application/octet-stream\r\n\r\n").getBytes());            

            int data;
            while ((data = in.read()) != -1) {
                dos.write(data);
            }            
            //            dos.writeBytes(s);
            dos.flush();
            
//    		OutputStreamWriter out = new OutputStreamWriter(xmlURLCon.getOutputStream());
//       		out.write(s);
//        	out.flush();
//        	out.close();
    		//*******************************
           	//eingehende Daten lesen
    		String s2 ="";
    		BufferedReader in2 = new BufferedReader(new InputStreamReader(xmlURLCon.getInputStream()));       		
            String line2;
            while ((line2 = in2.readLine()) != null) {
                s2 += line2;
            }
            in.close();
            in2.close();
            dos.close();

            	//Seiteninhalten (InputStream) ausgeben
            System.out.println("XMLImputStream: "+s);
    		System.out.println("HochladenImputStream: "+s2);
        	//*******************************
    		System.out.println("Info: Aktuelle config.xml wurde hochgeladen");
    	}catch(Exception e){
    		System.out.println("Fehler: Hochladen der config.xml gescheitert"+e.getMessage());
    	}

Gruß
eagle
 

Neue Beiträge

Zurück