![]() |
Prob mit IndyHTTP Server und datei schicken
Hallo,
kann mir jemand verraten warum ich die Datei die ich mit den Parameter "filename" anfordere nicht im IE zun Download bekomme und stattdessen der IE abschmiert? Indy9 Delphi 7
Delphi-Quellcode:
procedure TfmHTTPServerMain.HTTPServerCommandGet(AThread: TIdPeerThread;
RequestInfo: TIdHTTPRequestInfo; ResponseInfo: TIdHTTPResponseInfo); var LocalDoc: string; begin ... If Requestinfo.Params.values['action'] = 'sendmefile' Then begin If FileExists(Requestinfo.Params.values['filename']) Then begin LocalDoc:=ExpandFileName(StringReplace(Requestinfo.Params.values['filename'], '\', '/', (rfReplaceAll, rfIgnoreCase])); If FileExists(LocalDoc) Then HTTPServer.ServeFile(AThread, ResponseInfo, LocalDoc); end else begin ResponseInfo.ContentType := 'text/html'; ResponseInfo.ContentText :=Header + 'Datei nicht gefunden!' + Footer; end; end; end; ... end; |
Re: Prob mit IndyHTTP Server und datei schicken
Kann mir denn keiner helfen?
vielleicht noch einiges erklärendes zum Programm: Also es ist ein Programm (HTTPS-Server) auf den ich von überallher zugreifen kann und meinen Rechner verwalten. Ich wollte aber auch eine Funktione haben mit der ich einfach einen Pfad für eine Datei in einen EditFeld auf der Webseite angeben kann und das anschliessend mir der Server die Datei an den Client schickt, zum Download praktisch. Es sind noch einige andere Funktionen drin, aber ich schaffe irgendwie nicht diese mit dem Dateiupload zu realisieren. Bitte es ist wichtig. |
Re: Prob mit IndyHTTP Server und datei schicken
Habe es jetzt hinbekommen das der der Server die Datei losschickt.
Kann mir jemand sagen wie ich den Dateinamen einer Datei an den Client zum Download schicke? Der Download funktioniert nur das Problem ist das der Dateiname nicht im Speichern Dialog angezeigt wird.
Delphi-Quellcode:
Bekomme immer als dateiname do.command angezeigt, egal welche datei ich herunterlade
If RequestInfo.Document = '/do.command' Then
begin If Requestinfo.Params.values['action'] = 'sendmefile' Then begin If FileExists(Requestinfo.Params.values['filename']) Then begin LocalDoc:=ExpandFileName(StringReplace(Requestinfo.Params.values['filename'], '\', '/', [rfReplaceAll, rfIgnoreCase])); If FileExists(LocalDoc) Then begin try ResponseInfo.ContentType:=GetMIMEType(LocalDoc); RequestInfo.Document:=ExtractFileName(ChangeFileExt(LocalDoc, '')); HTTPServer.ServeFile(AThread, ResponseInfo, LocalDoc); finally // end; end; end else begin ResponseInfo.ContentType := 'text/html'; ResponseInfo.ContentText :=Header + 'Datei nicht gefunden!' + Footer; end; end ... ... end else .... |
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