![]() |
filename beim download für indy http bekommen
hallo
Ich hab das problem, daß ich den filenamen brauche der runter geladen wird. Ich lade dateien über indy http runter :
Delphi-Quellcode:
destfile ist also der filename.
lStream:=TFileStream.Create(destfile, fmCreate or fmShareDenyWrite);
try idHttp.Get('http://www.gamehost.biz/download.php?product='+productcode+'&mode=download',lStream); finally lStream.Free; end; bisher war es kein problem, weil ich immer wusste was runter geladen wird. Aber jetzt wird das ziel von einem server festgelegt und auch der dateiname ist da nicht bekannt. Gibts hier eine möglichkeit - erst einmal zu schauen wie die datei heißt und die danach runterzuladen. Ich habs über einen filestream gemacht, weil ich es nicht besser wusste - vielleich gibts ja auch hier andere möglichkeiten :). Danke Arnulf |
Re: filename beim download für indy http bekommen
hm ... gibt es wirklich keine möglichkeit?
ich versuch mal etwas genauer zu schildern worum es geht. ich bekomme einen link zu einer datei. Ich weiß aber nicht, ob das eine php download seite oder ein dirrecter link ist. bei einem dirrekten link kann ich es ja so machen (ich geb zu ist ne faule methode :) aber lustig):
Delphi-Quellcode:
damit kann ich dann
name := UnixPathToDosPath(maploadlocation);
name := extractfilename(name);
Delphi-Quellcode:
und letzten endes hald mit get das file holen.
lStream:=TFileStream.Create(mappath + name, fmCreate or fmShareDenyWrite);
anders schauts aber aus wenn ich eine php download page hab. dann muß ich beim indy redirect einschalten. ich hab zwar ein onredirect event, aber da ist es doch schon zu spät, da kann ich ja den namen des files nicht mehr bekommen und meinen filestream erstellen :(.
Delphi-Quellcode:
ich kann es ja mal in einen memory stream speichern oder als download.tmp und danach als richtige datei, aber ich bräuchte dann immer noch den richtigen link um den filenamen zu bekommen.
idhttp.get ('http://www.brothers-of-death.de/include.php?path=content/download.php&contentid=83&download=go&mirror=1',lstram);
Aber irgendwie müssen das ja auch die webbroser machen, daß die vorher wissen wie die datei heißen wird. Irgendwelche ideen? Arnulf |
Re: filename beim download für indy http bekommen
Zu den Indys gibt es Demos. Werf da mal einen Blick rein. Und bemüh mal die Foresuchen, eventuell wirst du da schon fündig.
|
Re: filename beim download für indy http bekommen
lo
also die forensuche hab ich bemüht - gegooglt hab ich auch ... ja die indy demos hab ich noch nicht probiert... Ich schau mal. Ich hab es jedenfalls mal so gemacht wie ich oben geschrieben hab - also im onredirect event hald den string nochmals zerlegt und damit hab ich meinen filenamen. Allerdings kann sich der benutzer da nicht mehr entscheiden ob er das runterladen will :) lol - was ja schlecht ist. Also such ich immer noch nach einer lösung, aber ich steh nicht mehr so unter druck, weil ich das mal umgehen konnte. Wenns also aktuell was gibt zu dem thema immer her damit :) - ich schau inzwischen mal nach den indy demos. cu Arnulf |
Re: filename beim download für indy http bekommen
Hi
naja mit der forensuche hast wohl recht gehabt :) aber man muß hald wissen wonach man sucht idhttp.head wäre richtig gewesen. damit hat sich das ratespielchen erledigt. Danke Arnulf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 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