AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi filename beim download für indy http bekommen
Thema durchsuchen
Ansicht
Themen-Optionen

filename beim download für indy http bekommen

Ein Thema von Arnulf · begonnen am 24. Mai 2005 · letzter Beitrag vom 25. Mai 2005
Antwort Antwort
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#1

filename beim download für indy http bekommen

  Alt 24. Mai 2005, 13:34
hallo
Ich hab das problem, daß ich den filenamen brauche der runter geladen wird.
Ich lade dateien über indy http runter :

Delphi-Quellcode:
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;
destfile ist also der filename.
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
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#2

Re: filename beim download für indy http bekommen

  Alt 24. Mai 2005, 21:13
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:
name := UnixPathToDosPath(maploadlocation);
name := extractfilename(name);
damit kann ich dann
lStream:=TFileStream.Create(mappath + name, fmCreate or fmShareDenyWrite); und letzten endes hald mit get das file holen.

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 .

idhttp.get ('http://www.brothers-of-death.de/include.php?path=content/download.php&contentid=83&download=go&mirror=1',lstram); 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.
Aber irgendwie müssen das ja auch die webbroser machen, daß die vorher wissen wie die datei heißen wird.
Irgendwelche ideen?
Arnulf
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: filename beim download für indy http bekommen

  Alt 24. Mai 2005, 21:23
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#4

Re: filename beim download für indy http bekommen

  Alt 25. Mai 2005, 22:40
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
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#5

Re: filename beim download für indy http bekommen

  Alt 25. Mai 2005, 23:35
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.
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