Datei hochladen zu PHP Server

Degush

Aktives Mitglied
Hey,

ich möchte eine Datei zu einem PHP-Server hochladen, der diese dann annimmt und speichert.
Habe im Internet dazu einige Quellen gefunden, die auf den MultiPartFormOutputStream verweisen:

http://svn.apache.org/repos/asf/wic...et/util/upload/MultiPartFormOutputStream.java

Allerdings ist mir völlig unklar, wie ich den benutzen soll und was solche Sachen wie "boundaries" sind.
In anderen Quellen wurden immer irgendwelche abstrusen Dinge in das Variablen-Feld geschrieben.
Welcher der Dateityp ist und so weiter ist dabei völlig egal.
Ich möchte dem ausgeführten Skript auf der PHP-Seite nur einen Integer (für die ID der Datei) und die Bytes in der Datei mitteilen, damit ein anderes Skript diese Bytes hinterher wieder herunterladen kann.

Ich weiß zwar, dass das hier ein Java Forum ist, aber vielleicht kennt sich ja doch jemand mit PHP aus. Um die PHP-Seite zu schreiben, die die Datei inklusive Datei-ID annimmt und auf dem Server speichert bräuchte ich auch Hilfe. Die ID allerdings kann ich selber verarbeiten.

Vielen Dank für alle Hilfe,
Malte
 

gp

Aktives Mitglied
Hallo Malte,

in deinem Link geht es um eine Methode, die das HTTP-Protokoll nutzt. Das ist recht aufwendig und setzt voraus, dass an der Gegenstelle ein Web-Server ist, der die Datei (oder die Daten), annimmt. Wie das in HTML gemacht wird, findest du bei SelfHtml. Hinter dem Web-Server ist dann dein PHP-Programm, welches die Daten annimmt.

In Java solltest du Module benutzen, die dir die Arbeit abnehmen. HttpClient ist so ein Modul. Hier findet du Beispiele, ganz unten bei "Multipart encoded request entity".

Das ist wohl alles etwas wie mit Kanonen auf Spatzen schießen, wenn es nur um 1 Byte geht. Das könnte auch als Request-Parameter recht einfach übertagen werden:
http://192,168,1,1/MyPHP.php?param=a

In diesem Fall würde ein "a" übergeben, hier könnte auch eine Zahl stehen wie "7", dann wäre es das ASCII-Zeichen 7. Nur mal so als Ansatz. Auch hier kann der HttpClient sicher helfen, schau dir mal Beispiele dazu an (Google ist dein Freund),

Hoffe, etwas geholfen zu haben.

Günter
 
G

Gast2

Gast
Kannst du nicht ein Protokoll benutzen das dafür besser geeignet ist, FTP beispielsweise?
 

schlingel

Gesperrter Benutzer
Wenn die Dateien klein sind ist es am einfachsten wenn du sie mit base64 "verschlüsselst" und in deinem Formular als ganz normalen Inhalt per POST hochlädst. Auf der Gegenseite erhältst du mit base64_decode wieder den echten Inhalt und kannst ein File rausschreiben.
 

Degush

Aktives Mitglied
Gut, ich konnte jetzt einen Dateiversand realisieren.
Dazu habe ich einfach die writeFile Methode vom Stream benutzt.
Mit einfachen POST-Data werde ich bei Dateien nicht auskommen (bis 100 MB)

Ist es wirklich notwendig, dass ich die Datei "verschlüssele"?

Java:
            // Öffnet eine Verbinudng. Boundary ist eine ID
            String boundary = Long.toHexString(System.currentTimeMillis());
            
            connection.setRequestProperty("Accept", "*/*");
            connection.setRequestProperty("Content-Type", MultiPartFormOutputStream.getContentType(boundary));
            connection.setRequestProperty("Cache-Control", "no-cache");

            MultiPartFormOutputStream mpfos = new MultiPartFormOutputStream(this.connection.getOutputStream(),
                    boundary);
            
            mpfos.writeField("tmp_name", f.getName());
            mpfos.writeField("name", f.getName());
            
            mpfos.writeField("uploadname", "app");
            
            mpfos.writeFile("file", 
                    super.connection.guessContentTypeFromName(f.getName()), 
                    f);
            
            mpfos.close();
            
            System.out.println(super.readData());
 

gp

Aktives Mitglied
Nein, du musst nicht verschlüsseln. Wenn es sicherheitsrelevante Daten sind, solltest du nicht HTTP sonder HTTPS verwenden.
 

Schandro

Top Contributor
Hi jnetdev, meld dich mal bitte an damit ich dich auf meine ignorier-Liste setzen kann. Noch besser wäre es natürlich wenn man Gast-Posts hier ganz blockieren würde, aber das wird wahrscheinlich nie passieren.
 

Schandro

Top Contributor
Edit: Danke an den Mod der jnetdev's Kommentar gelöscht hat, dieses Kommentar ist nun nutzlos :)

EDIT: sorry das ich ein 2. Kommentar gepostet hab, wollte eigentlich nur mein erstes editieren. :/
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Datei mit Anhang via http "hochladen" Netzwerkprogrammierung 16
Dit_ FTP, Datei Hochladen Netzwerkprogrammierung 4
B Via Java Datei zu PHP-Script auf Apache hochladen Netzwerkprogrammierung 4
A Bei FTP Übertragung wird Datei nicht komplett übertragen Netzwerkprogrammierung 2
J Datei Download vom Server Netzwerkprogrammierung 8
E JCIFS - Smb - Datei kann nur von einem Benutzer bearbeitet werden Netzwerkprogrammierung 1
Aruetiise Socket Datei Endung Netzwerkprogrammierung 6
A FTP wie kann ich von java auf datei in fpt://192.168.178.1 lesen/schreiben? Netzwerkprogrammierung 3
K HTTP Formulare füllen und Datei downloaden Netzwerkprogrammierung 23
B JSch Filetransfer ohne KnownHosts Datei? Netzwerkprogrammierung 0
A Datei erzeugen und auf der Weboberfläche downloaden (Tomcat) Netzwerkprogrammierung 4
Sogomn HTTP Datei herunterladen Netzwerkprogrammierung 13
C Inhalt einer .JPG Datei in einen OutputStream schreiben? Netzwerkprogrammierung 10
F FTP FTPClient Datei lässt sich nicht öffnen Netzwerkprogrammierung 4
F HTTP Serialisierte Objekte aus Datei von Server Netzwerkprogrammierung 1
T Anwendungseinstellungen ohne Datei übertragen? Netzwerkprogrammierung 8
F FTP Einzelne Datei von FTP-Server überprüfen Netzwerkprogrammierung 0
L FTP Lesen einer Datei vom Server - Aufgehangen Netzwerkprogrammierung 0
M jsf-seite beim hinzufügen einer csv-datei in einen ordner aktualiseren Netzwerkprogrammierung 0
D Einfache Verbindung zu Linux Server und Datei auslesen Netzwerkprogrammierung 13
S Datei(XML) per RMI an Server schicken Netzwerkprogrammierung 0
V Datei Download Fenster Netzwerkprogrammierung 9
S Datei schreiben über Applet Netzwerkprogrammierung 8
C Socket Datei Übertragung Netzwerkprogrammierung 5
C Datei über Socket schreiben und Ereignis lesen Netzwerkprogrammierung 9
K HTTP Eigener Http Response für Datei-Download Netzwerkprogrammierung 4
D Socket Datei nur stückweise über Socket verschicken Netzwerkprogrammierung 6
T Datei downloaden ohne den Dateinamen zu kennen Netzwerkprogrammierung 2
H Datei in DropBox schreiben Netzwerkprogrammierung 23
N über Java in eine Text-Datei auf einem Server schreiben Netzwerkprogrammierung 2
V Datei auf Server Schreiben Netzwerkprogrammierung 18
N Einen Server als ausführbare Datei exportieren Netzwerkprogrammierung 15
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
B FTP Datei auslesen ohne einloggen möglich? Netzwerkprogrammierung 19
C Datei auf server speichern Netzwerkprogrammierung 16
P FTP Nochmal wachsende Datei per FTP lesen Netzwerkprogrammierung 9
W Datei automatisiert kopieren! Netzwerkprogrammierung 5
P Wachsende Datei per FTP lesen Netzwerkprogrammierung 2
U Datei über das Netzwerk einlesen und speichern Netzwerkprogrammierung 8
S Servlet - Datei kann nicht gelöscht werden Netzwerkprogrammierung 12
G Txt datei von Website downloaden Netzwerkprogrammierung 8
R HTTP Apache HTTP Client: Request mit angehängter Datei Netzwerkprogrammierung 2
I HTTP Datei Uploaden mit http und Sprache anpassen Netzwerkprogrammierung 7
1 Datei senden/empfangen funzt nicht... Netzwerkprogrammierung 5
S ActiveMQ, JMS und Datei übertragen Netzwerkprogrammierung 25
M Socket Datei über Socket versenden Netzwerkprogrammierung 5
U Web Datei downloaden und bei Änderungen wieder zurückspielen Netzwerkprogrammierung 5
M Class-Datei aus Eclipse mit Xampp Netzwerkprogrammierung 4
A HTTP Download einer Datei mit "Statistiken" Netzwerkprogrammierung 2
B Zugriff auf eine Text- und XML-Datei Netzwerkprogrammierung 4
Ollek Download einer Datei durch SFTP mit Java Netzwerkprogrammierung 12
J Datei übertragen ja String + datei übertragen nein Netzwerkprogrammierung 5
P Name der Download-Datei ermitteln Netzwerkprogrammierung 8
N Socket TCP Datei Transfer Netzwerkprogrammierung 2
L Java über php datei lesen? Netzwerkprogrammierung 18
P Socket Datei von Client zum Server übertragen --> Weiterleitung an Clients Netzwerkprogrammierung 16
Akrillo Datei per Netzwerk senden Netzwerkprogrammierung 10
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
L Größe einer Datei auslesen die im Netz liegt Netzwerkprogrammierung 4
weeego Ping über CMD, Umweg über Batch Datei sparen. Netzwerkprogrammierung 17
R Versenden einer MIME-Datei per E-Mail [solved] Netzwerkprogrammierung 5
O Mehrere Datei per DataInput/OutputStream über Socket Netzwerkprogrammierung 12
S StringArray in .txt Datei --> langsam wegen Client/Server!? Netzwerkprogrammierung 16
S Bild-Datei von Servlet an Browser senden Netzwerkprogrammierung 8
U Datei via UDP Netzwerkprogrammierung 8
C Dateigröße einer Datei im Internet ermitteln Netzwerkprogrammierung 2
S Error 404 obwohl die Datei existiert Netzwerkprogrammierung 9
T Datei Herunterladen und ausführen Netzwerkprogrammierung 5
S Mittels Java XML abfragen und nicht die Ausgabe-HTML-Datei Netzwerkprogrammierung 5
C PCAP Datei auslesen Netzwerkprogrammierung 8
F Applet Datei Zugriff Netzwerkprogrammierung 13
G Datei performant im Netzwerk verschieben Netzwerkprogrammierung 4
M [Commons NET] Prüfen, ob auf FTP Datei vorhanden ist Netzwerkprogrammierung 2
Rontu Problem beim Übertragen einer Datei Netzwerkprogrammierung 9
E Größe der Datei vor Download ermitteln Netzwerkprogrammierung 3
C Dateiübertragung - Datei immer ein 4096faches von n Netzwerkprogrammierung 2
E Applet zum Datei-Upload Netzwerkprogrammierung 3
A FileChannel+SocketChannel:Datei wird nur teilweise übertrage Netzwerkprogrammierung 4
J Gibts die Datei? Netzwerkprogrammierung 3
K Datei-Upload per FTP Netzwerkprogrammierung 2
G Fehlermeldung beim Erzeugen der WSDL Datei unter Axis Netzwerkprogrammierung 2
S über rmi datei übertragen? Netzwerkprogrammierung 2
J Zeilenweises auslesen aus einer Datei über Server Netzwerkprogrammierung 6
G Datei über ObjectInputStream versenden Netzwerkprogrammierung 8
G.I.Joe Datei per POST übertragen Netzwerkprogrammierung 2
B Umfangreiche Batch Datei (Rmiregistry prüfung + Prog. start) Netzwerkprogrammierung 4
V Einen Eintrag aus einer Zip Datei von einem Server laden Netzwerkprogrammierung 2
M Datei auf einem Server ausführen Netzwerkprogrammierung 4
N Dateigröße einer Datei auf einem HTTP-/Web-Server. Netzwerkprogrammierung 9
W fehlerhafte Datei nach Dateitransfer per ServletOutputStream Netzwerkprogrammierung 2
F Datei senden und empfangen Netzwerkprogrammierung 4
B knacken bei download von mp3 datei Netzwerkprogrammierung 2
T Datei senden Netzwerkprogrammierung 3
M Datei auf Remoteserver kopieren Netzwerkprogrammierung 8
B Datei speichern unter Netzwerkprogrammierung 10
B Laden einer *.csv Datei von einem Webserver (http-request) Netzwerkprogrammierung 8
R In Text Datei schreiben die auf einem Server liegt Netzwerkprogrammierung 8
S Unix Datei vom Server nach Windows übertragen Netzwerkprogrammierung 8
T Musik-Stream: Server sendet die Datei zu schnell ? Netzwerkprogrammierung 3
T Mit FTP verbinden, einen Ordner erstellen und Datei löschen Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben