Archiv verlassen und diese Seite im Standarddesign anzeigen : http up-/Download
ola board
ich muss ein blob aus einer datenbank holen und weiss nicht, wie ich es schaffe aus dem resultierenden skalar, der den datenstrom aus der db annimmt, eine Datei zu machen.
Genauer gesagt, wie schaffe ich es, das der donload am browser losgeht??
HELP, in perl-newbie
Jan Krüger
14.08.2003, 20:04
Ähh, das müsstest du mal ein bisschen genauer erklären.
Sehe ich das richtig, dass du ein CGI-Script schreiben willst, das Daten aus einer Datenbank zieht und den User als Datei downloaden lassen willst?
genau
es gibt ein ticketsystem, das dateianhänge als blob in der datenbank , komprimiert, abspeichert.
es gibt eine lib., die mir das abholen des blobs ermöglicht.
als file schreib die lib direkt, ohne dateinamen und -endung, ins cgi-verzeichnis.
es gibt auch die möglichkeit, den stream, der aus der db kommt in einen skalar zu speichern.
jetzt weiss ich nicht recht, wie ich die datei zum client (browser) bekomme. Push fällt aus, da ich überall lese, dass das nicht funzt.....
kurz zum ablauf:
usr wählt ticket aus.
bekommt 1 || x tickets mit anhang als link angeboten
clickt auf ticket
jetzt soll der download starten.....
Jan Krüger
15.08.2003, 11:02
Das Konzept sieht folgendermaßen aus:
Du kannst nicht in einem Scriptdurchlauf gleichzeitig eine Download-Infoseite und den Download selbst schicken.
Stattdessen schickt das Ursprungsscript den Browser per HTTP-Refresh an ein weiteres Script, das die Datei mit dem richtigen Content-Type-Header (z.B. Content-type: application/octet-stream) an den Browser schickt.
ola
die idee mit dem http-refresh hatte ich heute morgen auch.
schade eigentlich, das sobald man länger mit einem anderen programmier-paradigma arbeitet, solche 'details' aus dem auge verliert.
:mauer:
mann, du programmierst fürs www.... ;)
das mit dem meta-refresh habe ich bereits gemacht.
da es sich um die verschiedensten anhänge handelt, stellt sich mir die frage, welchen content-type-header man denn da am besten verwendet.
thx & greetz
Jan Krüger
15.08.2003, 15:10
Am besten guckst du mal in eine Apache-Konfigurationsdatei oder so, da stehen einige MIME-Types drin. Wenn gar nichts Exaktes zu finden ist, ist halt application/octet-stream nie falsch.
Hier findest auch "ein paar" Mime-Typen: http://selfhtml.teamone.de/diverses/mimetypen.htm
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.