Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Dateiupload per idhttp (https://www.delphipraxis.net/79625-dateiupload-per-idhttp.html)

Kpa 25. Okt 2006 14:35


Dateiupload per idhttp
 
hallo!

ich betreibe einen uploadservice und möchte dafür gerne ein uploadtool erstellen.
Da ich jedoch (noch) kaum was von delphi verstehe bin ich jetzt auf Hilfe angewiesen.
Ich weiss das dieses Thema schon oft und lange durchgekaut worden ist, dennoch kapier ich es einfach nicht und hoffe das es mir hilft wenn jemand ganz speziell auf meinen fall hilfestellung gibt,


also das hier ist der code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  StringStream: TStringStream;
  PostVars: TStringList;
  FileStream: TFileStream;
begin
  PostVars := TStringList.Create;
  StringStream := TStringStream.Create('');
  FileStream := TFileStream.Create(listbox1.Items[0], fmOpenRead or fmShareDenyWrite);
  try
    //IdHTTP1.Connect;
    StringStream.CopyFrom(FileStream, FileStream.Size);
    PostVars.Values['file'] := IdEncoderMIME1.Encode(StringStream.DataString);
    Application.ProcessMessages;
    IdHTTP1.Post('http://upload.bla.de/upload.php', PostVars, StringStream);
    memo2.Text := StringStream.DataString;
  finally
    StringStream.Free;
    PostVars.Free;
    FileStream.Free;
  end;
end;
und das hier ist das script das die datei entgegen nehmen soll:

Delphi-Quellcode:
<?
$datei = $_POST['file'];
if (isset($_POST['file']))
{
   echo "zumindest ist die file variable gesetzt";
}
copy($datei, "dateien/$datei");
?>
Kann vielleicht mal jemand das script bei sich ausprobieren? oder mir vielleicht auch so schon sagen wo der fehler liegt? danke!

p.s. das script nimmt nicht die variable entgegen

generic 25. Okt 2006 15:48

Re: Dateiupload per idhttp
 
das php script wird wohl nicht stimmen:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>
      blaa
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
    <meta http-equiv="expires" content="0">
  </head>
  <body bgcolor="#FFFFFF" onload="start()">

    <div>


<?php
   if ($_SERVER['REQUEST_METHOD']=='POST')
   {
      $uploaddir1 = "D:/temp/".time ()."-".$_FILES['Ufile']['name'];
      if ( move_uploaded_file($_FILES['Ufile']['tmp_name'], $uploaddir1 . $_FILES['Ufile']['name']))
      {
        echo "Danke - Datei ist hier eingegangen";
      } else
      {
        echo "Datei konnte nicht gespeichert werden.";
      }
    }
?>
      <form name="form1" method="post" enctype="multipart/form-data" action="" id="form1">
        Dateiname: <input type="file" name="Ufile" value=""> <input name="lade" type="submit" class="form6">
      </form>

    </div>
  </body>
</html>
ich nutz da diesen code für
der trick liegt bei der move_uploaded_file funktion.

Kpa 25. Okt 2006 17:44

Re: Dateiupload per idhttp
 
danke für deine antwort

ich habe den php code nun so:
Delphi-Quellcode:
<?php
$uploaddir1 = "/var/www/filecoast.com/public_html/dateien/".time ()."-".$_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir1 . $_FILES['file']['name']);
?>
es wird leider immer noch keine datei hcohgeladen, aber eine fehlermeldung gibt php auch nicht aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 Uhr.

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