![]() |
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? |
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. |
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..
|
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. |
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.
|
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 ? |
Re: Datei an Server übertragen und verarbeiten
Zitat:
Zitat:
Die Setupdatei soll in ein vorher fest vorgegebenes Verzeichnis gelegt werden. Ausgeführt soll sie dadurch aber noch nicht werden. Zitat:
Zitat:
Zitat:
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. |
Re: Datei an Server übertragen und verarbeiten
Ok, hier isses:
Code:
Es gibt dir im erfolgsfall TRUE sowie md5 & SHA1 Checksummen der Datei zurück ;)
<?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'); } ?> |
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. |
Re: Datei an Server übertragen und verarbeiten
Da ist sogar ein kleines Beispiel dazu ;)
![]() 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 01:04 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