Hallo,
ich verwende Typo3 3.8.x mit naw_securedl, das funktioniert auch einwandfrei, NUR nicht mit Safari 3.1 am Mac.
Da bekomme ich beim Download Versuch immer einen "Access denied" - Firefox und Internet Explorer auf Windows und Mac machen keine Problem...
Wer hat eine Lösung für mich?
Hallo!
Bei mir gab's das selbe Problem bzgl. PDFs. Der Safari unter OSX hat offenbar Probleme mit der Inline-Darstellung einer Reihe von Content-Types. Ich vermute, dies betrifft aber nicht nur PDF, sondern auch Videos usw. (habe ich aber nicht getestet).
Das Problem liegt in der Datei EXT:naw_securedl/class.tx_nawsecuredl_output.php
Und zwar kann der Safari offenbar nichts anzufangen mit den Zeilen
header('Content-Type: '.$contenttypedatei);
header('Content-Disposition: inline; filename="'.basename($file).'"');
Das Skript landet beim Safari dadurch irgendwie in einer Schleife, die Variable $feuser löst sich in Luft auf, das Skript landet schließlich bei
exit ('Access denied!!') )
LÖSUNG:
Wenn man nun die Zeile
header('Content-Disposition: inline; filename="'.basename($file).'"');
ändert in
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
werden auch im Safari die Dateien ausgeliefert.
Unschön hierbei ist ggf., dass damit alle Dateien sämtlicher Content-Types extern geladen werden (also nicht mehr inline im Browser, sondern mit einem externen Programm, also unter OSX bspw. "Vorschau").
Dem ließe sich wieder mit einer Weiche abhelfen wie folgt (im Bsp. werden nur PDFs "extern" ausgeliefert; lässt sich sicher schöner lösen):
if ($contenttypedatei != "application/pdf")
header('Content-Disposition: inline; filename="'.basename($file).'"');
else
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
Drauf gekommen bin ich im Übrigen durch diese Seite: http://underdevelopment.maravillaclan.net/?p=5
Den Urheber der Extension habe ich bereits kontaktiert; vielleicht wird das dann in der offiziellen Version gefixed.
Grüße, Klaus
Vielen Dank, werde ich anschauen!
Hey,
danke für den Lösungsweg!
Man kann auch einfach in den Einstellungen der Ext (im Ext-Manager) das Häkchen bei "forcedownload" setzen und die entsprechenden Dateiendungen angeben, dann wird die Content-Disposition automatisch auf attachment gesetzt.
Vielleicht hat der Autor das ja gemacht, weil ihr ihn kontaktiert hat? 🙂
Gruß