# file auf einen server laden



## temei (14. Apr 2004)

Habe ein großes Problem! ich soll eine Datei auf einen Server über eine http Verbindung laden.
Bis jetzt habe ich folgenden Code geschrieben, allerdings wird die Datei nicht 
zum server geladen! ich weiß auch nicht woran das liegt. 
Wäre toll wenn mir jemand helfen könnte!


```
byte buffer[] = new byte[4096];

    URL url = new URL("http://localhost");
    URLConnection con = url.openConnection();

    // send
    con.setDoOutput(true);
    
    File file = new File("C:\\send\\veranstaltungen.xml");

    OutputStream st = con.getOutputStream();
    BufferedOutputStream ost = new BufferedOutputStream(st);
    FileInputStream ist = new FileInputStream(file);

    int nBytes;
    while((nBytes = ist.read(buffer)) != -1) {
      ost.write(buffer, 0, nBytes);
    }
    ost.flush();
    ost.close();
```


----------



## Miskral (14. Apr 2004)

Hi,

ich kann dir zwar keine fertige Lösung anbieten, aber woher soll dein Server denn wissen was er damit machen soll. Vieleicht kommst du aber weiter wenn du statt URLConnection die Klasse HttpURLConnection arbeitest. Dort gibt es eine Methode die sich setRequestMethod(String s). Die Methode steht im default auf GET. Zum senden von Daten kann man POST und PUT verwenden. Wie das genau geht kann ich dir auch nicht sagen weil ich das auch noch nicht ausprobiert habe.

Gruß Chris


----------



## Roar (14. Apr 2004)

du kannst über http keine dateien an den server senden. dazu musst du das ftp nehmen.


----------



## Miskral (14. Apr 2004)

Roar hat gesagt.:
			
		

> du kannst über http keine dateien an den server senden. dazu musst du das ftp nehmen.



???:L 
Laut Http - Protokoll soll das mit dem PUT - Befehl gehen, nur wird dieser aus sicherheitsgründen von den meisten Servern nicht unterstützt.

Chris


----------



## Jue (18. Apr 2004)

Für Klarheit könnt ihr euch ja mal die HTTP RFC reinziehen. Sucht unter Google mal nach _rfc + http_. Ich will echo nicht Abschrecken, aber die RFC ist auf Englisch und 162 Seiten lang ... Ich hab sie auch nur überflogen. Wer die durcharbeitet ist danach HTTP-Spezialsit ...

Jue


----------

