Hallo Freunde der digitalen Kunst,
leider muss ich mich mal wieder mit einem Problem zu Wort melden, dass mir jetzt seit Tagen Zeit und Nerven raubt. Wie im Betreff zu lesen, geht es dabei um pdf-Downloads mit älteren Android-Versionen (ich teste es mit Android 4.2.2). Der Download startet zwar, aber wird letztlich nicht ausgeführt, es erscheint in der Downloadliste ein "<Unbenannt>" bzw. ein "<Unbekannt>" mit nicht endendem Fortschrittsbalken. Diese pdf's biete ich selbst an.
Prinzipiell gibt es aber diverse andere, nicht von mir gemachte Seiten, bei denen der Download funktioniert, sprich das Problem liegt also bei mir.
Es handelt sich bei den pdf's sowohl um statische als auch um dynamisch erzeugte Dateien. Die HTML-Auszeichnung ist dabei zunächst
<a href="beispiel.pdf" download="beispiel.pdf">Beispiel</a>
Ob mit "download"-Attribut oder nicht, beide Möglichkeiten funktionieren nicht.
Auf dieser Seite habe ich gefunden, dass es sich wohl um ein header-Problem handelt. Daher habe ich, da ich ohnehin dynamische pdf's anbiete, den Download-Vorgang geteilt - eine html-Seite, die eine php-Seite aufruft. Das HTML sieht nun wie folgt aus:
<a href="pdf.php?f=beispiel" download="beispiel.pdf">Beispiel</a>
und die pdf.php
<?php
$file = $_REQUEST['f'].".pdf";
if (file_exists($file)) {
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$file.'"');
header('Content-Length: ' . filesize($file));
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Pragma: no-cache');
readfile($file);
exit;
}
?>
Dabei habe ich sowohl die im obigen Link angebenen header ausprobiert als auch die von Seiten, bei denen der Download funktioniert.
Das besonders Ärgerliche ist, dass ich vor ca. einem halben Jahr bereits vor diesem Problem stand, es gelöst habe, aber durch eine wordpress-Aktualisierung wieder verloren habe. Sprich, ich weiss, dass es irgendwie geht.
Was ich ebenfalls ausprobiert habe, ist eine Ausgabepufferung in der php-Datei. Auch ohne Erfolg.
Vielleicht war ja jemand von euch ebenfalls mit diesem Problem konfrontiert und hat eine funktionierende Lösung gefunden und kann mir damit weiter helfen.
vielen Dank und ansonsten ein schönes Wochenende
trunx