hi,
ich versuche per idhttp dateien upzuloaden, wie folgt:
Delphi-Quelltext
1: 2: 3: 4:
| stream := TIdMultiPartFormDataStream.Create; Stream.AddFile('file','c:\test.png', 'multipart/form-data'); s0 := IdHTTP_PostJPG.Post(http.../upload.php,stream); stream.Free; |
auf web seite ein passendes script:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| <?php $max_byte_size = 152400; $allowed_types = "(png)"; if(is_uploaded_file($_FILES["file"]["tmp_name"])) { if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) { // Datei auch nicht zu groß if($_FILES["file"]["size"] <= $max_byte_size) { // Alles OK -> Datei kopieren if(move_uploaded_file($_FILES['file']['tmp_name'], "upload/".$_FILES['file']['name'])) { echo "Datei erfolgreich hochgeladen"; . . . |
was auch ganz gut klappt, nur ab und an ist das file korrupt und nicht anzeigbar, ein vergleich der dateigrösse zeigt das sie etwas kleiner ist als die lokale orig.datei. komischerweise ist das ende der datei identisch, es scheint so as ob mittendrinn etwas fehlt?
woran könnte das liegen? die idhttp komponente dabe ich in standart einstellungen laufen, sie wird nicht zur laufzeit erzeugt, D7, indy v9.0.18 und die *.png dateien haben <50kb an grösse.
btw.:
woran erkenne ich das die komp. fertig mit dem upload ist? der trigger OnWorkEnd springt nicht an!?
cu and thx!
alice
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.