Hallo Leute.
Ich beschäftige mich nicht allzulange mit Delphi, bitte um Geduld.
Ich versuche den Inhalt einer Memo1 auf den Server als Datei zu laden.
Leider komme ich nicht weiter. Habe schon SuFu benutzt. Nichts passendes gefunden.
Sobald ich die Datei local erstelle und dann sende geht es einwandfrei.
Das kann ich aber nicht anwenden. Es muß direkt von der Memo uploadet und als Datei gespeichert werden.
Momentan kriege ich die Meldung: No data to read.
Drücke ich auf fortsetzen ist die Datei auf dem Server. Also sollte die Übertragung eigentlich richtig sein.
Mit den Streams habe mich irgendwie festgefahren.
Hier mein CODE
Delphi-Quellcode:
StringList := TStringList.Create;
Data := TIdMultiPartFormDataStream.Create;
try
StringList.Add(Memo1.Text);
//StringList.AddObject('Test.txt',StringList); //
Data.AddObject('userfile','txt' , StringList, 'Test.txt');
Data.Position := 0;
if InternetGetConnectedState(nil, 0) then
Transfer := idHTTP1.Post('http://Meine_Adresse_mit_dem_Script/update.php', Data);
finally
StringList.Free;
Data.Free;
end;
Hier meine php Datei
Code:
<?php
$uploaddir = getcwd() . "/test/"; // getcwd = Gets the current working directory
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
echo "Data transfer successfully.\n";
}
else
{
echo "Possible file upload attack!\n";
}
?>
Fehlermeldung: No Data to read.
Ich glaube zu wissen warum es so ist, kriege aber nicht gebacken.
Ich versuche zu senden obwohl mein Stream zu Ende ist glaube ich.
Falls Jemand mir helfen könnte am besten mit ein wenig Erklärung wäre es super.
Ich lerne autodidakt, also bitte nicht schimpfen. Für die Schule bin leider zu alt.