C-Sharp Daten von PHP lokal speichern
Hallo ihr Administratoren,
ich möchte einen ZIP von einer PHP Datei lokl speichern. Mein PHP Script:
mein C# Script:
An sich funktioniert der Download, aber die ZIP Datei ist auf dem Anwenderpc größer als auf dem Server (auch wenn ich mir den richtig runterlade, ist der so groß wie auf dem Server), was ich nicht verstehe. Und in der letzten Zeile tritt ein Fehler auf, dass er nicht richtig exportiert werden kann. Wo ist der Fehler?
ich möchte einen ZIP von einer PHP Datei lokl speichern. Mein PHP Script:
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$targetPath");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
readFile($targetPath);
$file_content = file_get_contents($targetPath);
echo $file_content;
exit();
mein C# Script:
// Formuliert Serveranfrage
var client = new RestClient("https://....com/test/");
var request = new RestRequest("server.php", Method.POST);
request.AddParameter("ac", "jdl");
request.AddParameter("id", user_id.ToString());
request.AddParameter("filename", Path.ChangeExtension(Daten, ".zip"));
byte response = client.DownloadData(request);
// Speichert empfangene Serverdaten
File.WriteAllBytes(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Server.zip"), response);
Directory.CreateDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Testorder Server"));
ZipFile.ExtractToDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Server.zip"), Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Testorder Server"));
An sich funktioniert der Download, aber die ZIP Datei ist auf dem Anwenderpc größer als auf dem Server (auch wenn ich mir den richtig runterlade, ist der so groß wie auf dem Server), was ich nicht verstehe. Und in der letzten Zeile tritt ein Fehler auf, dass er nicht richtig exportiert werden kann. Wo ist der Fehler?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 342801
Url: https://administrator.de/contentid/342801
Ausgedruckt am: 01.11.2024 um 02:11 Uhr
3 Kommentare
Neuester Kommentar
readFile($targetPath);
echo $file_content;
Doppelt gemoppelt ...echo $file_content;
Erst die ZIP mit readfile ausgeben und dann nochmal das gleiche per echo?? Ist zwar Freitag aber da brauchst du dich nicht wirklich wundern wenn deine Zips größer werden als sie es tatsächlich sind ;-P, war wohl zu heiß heute .
Btw. die Variable $targetPath gibt's in deinem oben geliststen Code nicht.
Gruß