AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi idHTTP1.Post Problem

idHTTP1.Post Problem

Ein Thema von IMPEGA · begonnen am 4. Jan 2009 · letzter Beitrag vom 5. Jan 2009
Antwort Antwort
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

idHTTP1.Post Problem

  Alt 4. Jan 2009, 18:44
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.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.657 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: idHTTP1.Post Problem

  Alt 4. Jan 2009, 19:34
Guten Abend,

versuche es 'mal mit dem MemoryStream.

Delphi-Quellcode:
//StringList := TStringList.Create;
MStream := TMemoryStream.create;
Data := TIdMultiPartFormDataStream.Create;
try
  Memo1.lines.saveToStream(MStream);
  MStream.Position:=0;
  //StringList.AddObject('Test.txt',StringList); //
  Data.AddObject('userfile','txt' , MStream, '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;
  MStream.free;
end;
[edit] Vielleicht ist dieser Link (EidNoDataToRead) noch hilfreich.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: idHTTP1.Post Problem

  Alt 5. Jan 2009, 17:35
Danke dir.
Es läuft. Das komische daran ist.
Ich habe mit MStream auch versucht gehabt. Allerdings so oft umgeschrieben daß ich kaum noch nachvollziehen kann wo ich den Fehler gemacht habe.
Ich glaube das ist das Hauptproblem: Memo1.lines.saveToStream(MStream);
Damit wird der ganze Inhalt übernommen.

Na ja. Ich bedanke mich sehr. Es hat mir sehr geholfen. Dazu noch verdammt schnell.
Danke noch Mal.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf