Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Datei Upload über HTTP POST mit Hilfe von Indy funzt net :( (https://www.delphipraxis.net/9967-datei-upload-ueber-http-post-mit-hilfe-von-indy-funzt-net.html)

cYaONE 8. Okt 2003 17:53


Datei Upload über HTTP POST mit Hilfe von Indy funzt net :(
 
Servus,

ich versuche mit folgendem Code eine Datei mit Hilfe eines PHP Scriptes über Indy hochzuladen:

Delphi-Quellcode:
uses IdMultipartFormData;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  data: TIdMultiPartFormDataStream;
begin
  data := TIdMultiPartFormDataStream.Create;
  try
    data.AddFile('archive', 'c:\abc.zip', 'application/zip');

    Memo1.Lines.Text := IdHTTP1.Post('http://localhost/upload.php', data);
  finally
    data.Free;
  end;
end;
Leider funktioniert das nicht und ich bekomme auch nicht heraus warum :(

Könnt ihr mir helfen?

sakura 8. Okt 2003 18:07

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
Ich bin mir der Lösung nicht sicher, aber versuche mal folgende Zeile:

Code:
uses IdMultipartFormData;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  data: TIdMultiPartFormDataStream;
begin
  data := TIdMultiPartFormDataStream.Create;
  try
    data.AddFile('archive', 'c:\abc.zip', 'application/zip');
    [color=#ff0000]data.Position := 0;[/color]
    Memo1.Lines.Text := IdHTTP1.Post('http://localhost/upload.php', data);
  finally
    data.Free;
  end;
end;
...:cat:...

cYaONE 9. Okt 2003 13:16

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
Danke für deinen Versuch, Sakura, es funktioniert leider trotzdem nicht ... :(

kasi 9. Okt 2003 17:45

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
Bei mir funktioniert der Code einwandfrei. Liegt der Fehler evtl. auf der PHP-Seite??

KASI

cYaONE 10. Okt 2003 13:03

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
@KASI: Könntest du deinen PHP Code hier posten?

Wenn ich eine Datei über eine HTML-Seite hochladen möchte, funktioniert das ganze wunderbar!

kasi 10. Okt 2003 17:36

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
Aus dem PHP Manual
Code:
<?php
// In PHP earlier then 4.1.0, $HTTP_POST_FILES should be used instead of
// $_FILES. In PHP earlier then 4.0.3, use copy() and is_uploaded_file()
// instead of move_uploaded_file

$uploaddir = 'files/';
$uploadfile = $uploaddir. $_FILES['archive']['name'];

print "<pre>";
if (move_uploaded_file($_FILES['archive']['tmp_name'], $uploadfile)) {
    print "File is valid, and was successfully uploaded. ";
    print "Here's some more debugging info:\n";
    print_r($_FILES);
} else {
    print "Possible file upload attack!  Here's some debugging info:\n";
    print_r($_FILES);
}

?>
KASI

asdfg 29. Okt 2005 22:00

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
Vllt. könnte das weiterhelfen:
http://www.matlus.com/scripts/websit...PartFormData&5

SirThornberry 29. Okt 2005 22:09

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
Es liegt schlicht weg an der Delphiversion. Das ganze hatten wir schonmal und ich wurde dann irgendwann beschimpft weil ich auch geschrieben hab das es wunderbar klappt und bei dem der Hilfe braucht hat es nicht geklappt. Irgendwann ist mir aufgefallen das es bei meiner Personal-Version auch nicht geklappt hat.

Schau dir mal das hier an: http://www.delphipraxis.net/internal...?p=82854#82854
Dort wurde dann auch des Problems Lösung gefunden

Phoenix 29. Okt 2005 23:52

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
Wie sieht denn das HTML-Formular aus?

Ich hatte gerade gestern ein ähnliches Problem und habe rausgefunden dass das PHP-Script unbedingt den Parameter Filename aus dem Formular brauchte bevor es die Datei angenommen hat. Bei der Standard-Methode wurde dieses Feld nicht verwendet. Ich habe (allerdings unter .NET) den ganzen HTTP-Request daraufhin von Hand geschrieben und versendet. Danach hat das einwandfrei funktioniert.

emsländer 5. Nov 2005 21:31

Re: Datei Upload über HTTP POST mit Hilfe von Indy funzt net
 
Schau einfach mal hier:

http://www.delphipraxis.net/internal...ct.php?t=67302



Gruss


EL


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz