Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Prism Datei an Server übertragen und verarbeiten (https://www.delphipraxis.net/64024-datei-server-uebertragen-und-verarbeiten.html)

Jelly 26. Feb 2006 12:18


Datei an Server übertragen und verarbeiten
 
Ich muss von einem Delphi Client heraus eine Datei auf einen Server im Web übertragen, weiss aber nicht so recht wie ich anfangen soll. Das Problem ist, dass auf dem Server kein FTP drauf ist, sondern nur der Port 80 offen ist, der eh schon für eine Webanwendung genutzt in PHP genutzt wird.

Ich dachte also dran, das Ganze eventuell mit einem ASP.NET Webservice zu lösen, d.h. ich versuche einen Server zu basteln, der über SOAP eine Datei entgegennimmt, diese eventuell noch entschlüsselt (aber das ist ein anderes Problem), und an einen vordefinierten Ort auf der Festplatte speichert. Also CLient wollte ich eine VCL.NET Anwendung schreiben, die dann diesen Webservice anspricht.

Einen Webservice krieg ich hin, den Client auch. Nur... wie kann ich nun den Dateiinhalt übertragen. Es handelt sich dabei um Dateien in der Grössenordnung von 5 MB.

Hab dazu ein bischen mit Binaryreader und -Writer rumprobiert, aber zu keinem Ergebnis gekommen?

wlfmario 4. Mär 2006 17:33

Re: Datei an Server übertragen und verarbeiten
 
Hallo,

mal so ein Schuß in Blaue !
Könnte man das nicht über ein PHP Script realiesieren, das eine Anfrage vom Client verarbeitet und die Datei dann vom Client
anfordert änlich Client <-> My-SQL ?

Ob das so Einfach zu machen ist weis ich jetzt auch nicht aber war nur so eine Iddee.

Probleme sehe ich nur wenn man keine möglichkeit hat das Script auf dem Sever zu installieren.

Jelly 4. Mär 2006 22:52

Re: Datei an Server übertragen und verarbeiten
 
Den Server kann ich selbst konfigurieren. Ich dachte aber mit einem Webservice wärs am Einfachsten. Nur komm ich irgendwie nicht weiter..

wlfmario 4. Mär 2006 23:25

Re: Datei an Server übertragen und verarbeiten
 
Also wenn es PHP-Script sein darf, könnte ich mal gucken ob ich so etwas noch im meinen Archive habe.
Dann sene ich das mal per Mail oder Poste das Script.

Jelly 5. Mär 2006 12:20

Re: Datei an Server übertragen und verarbeiten
 
PHP wär auch ne Lösung, ich muss die Datei nur von einem Delphi Programm heraus senden können. Hab da allerdings auch keine Ahnug wie ich den Webserver konfigurieren muss, damit überhaupt Dateien angenommen werden können, aber ein Versuch wärs wert.

jfheins 5. Mär 2006 12:32

Re: Datei an Server übertragen und verarbeiten
 
Ich kann dir kurz ein PHP-Script schreiben, dass das macht ...

Du müsstest mir dann aber sagen:

- Was soll es können (Ordner angeben oder alle Dateien in einen ?)

- Was soll passieren, wenn die Datei schon vorhanden ist ?

- Soll etwas - wenn ja was - zurückgegeben werden ?

- Eine Datei oder auch mehrere ?

Jelly 5. Mär 2006 15:12

Re: Datei an Server übertragen und verarbeiten
 
Zitat:

Zitat von jfheins
Ich kann dir kurz ein PHP-Script schreiben, dass das macht ...

Hey, das wär genial...

Zitat:

Zitat von jfheins
- Was soll es können (Ordner angeben oder alle Dateien in einen ?)

Also es geht um Folgendes. Ich soll eine Setup Datei zum Firmenserver hochladen, mehr nicht. Die ausführung des Setups an den einzelnen Clientrechnern klappt schon. Es würde im Grunde reichen, wenn ich mit Hinzunahme eines Passwortes eine beliebige Datei hochladen kann. Stimmt das PAsswort nicht, so soll das Hochladen unterbunden werden.
Die Setupdatei soll in ein vorher fest vorgegebenes Verzeichnis gelegt werden. Ausgeführt soll sie dadurch aber noch nicht werden.

Zitat:

Zitat von jfheins
- Was soll passieren, wenn die Datei schon vorhanden ist ?

Knallhart überschreiben.


Zitat:

Zitat von jfheins
- Soll etwas - wenn ja was - zurückgegeben werden ?

Naja, true oder false, wenn der Upload erfolgreich war.

Zitat:

Zitat von jfheins
- Eine Datei oder auch mehrere ?

Eine.

Mit dem Ganzen hab ich nur das Problem, dass so jeder durch Kennen des Passwortes x-beliebige Dateien hochladen kann. Diese Dateien werden automatisch durch die Clients im Firmennetz ausgeführt, und das ist eine riesige Sicherheitslücke. Aber vielleicht kann ich da selbst noch eine CRC Prüfung einbauen, und somit nur meine Dateien ausführen lassen. Mein Hauptproblem ist einfach, wie ich schnell und einfach meine Setupdatei hochladen kann.

jfheins 5. Mär 2006 16:33

Re: Datei an Server übertragen und verarbeiten
 
Ok, hier isses:
Code:
<?php

$password = 'pwd'; // Needs to be submitted in a field named "password" (without quotes)

$destination = './setup.exe'; // Directory and filename of destination file

if ((! empty ($_FILES['file'])) and ($_POST['password'] == $password))
{
   $success = move_uploaded_file ($_FILES['file']['tmp_name'], $destination);
   
   if ($success)
   {
      echo 'TRUE ' . md5_file ($destination) . ' ' . sha1_file ($destination);
   }
   else
   {
      die ('FALSE');
   }
}
else
{
   die ('FALSE');
}

?>
Es gibt dir im erfolgsfall TRUE sowie md5 & SHA1 Checksummen der Datei zurück ;)

Jelly 5. Mär 2006 17:01

Re: Datei an Server übertragen und verarbeiten
 
Sieht ja echt simpel aus, das Skript... Dank Dir...

Wie ruf ich das denn nun am bestem aus meinem Programm heraus auf... Bislang hatte ich mit den Indy Komponenten immer so meine Probleme, über _POST irgendwas zu übermitteln.

jfheins 5. Mär 2006 22:04

Re: Datei an Server übertragen und verarbeiten
 
Da ist sogar ein kleines Beispiel dazu ;)
http://www.delphipraxis.net/internal...ct.php?t=67302

Du könntest das dann ja mal umbauen in die Form

procedure Upload (url, fieldname, filename: String);

:mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 Uhr.
Seite 1 von 2  1 2      

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