Bonsoir,
J'ai un gros bug sous Safari et le Header.
Donc voici le souci :
Lorsqu'on clique sur une image, cela fait appel à une requête Ajax, qui envoie en get certaines données à un fichier download.php
Ce dernier fichier permet le téléchargement d'un fichier précis, donc dans lequel je définis le header :
Donc, tout fonctionne parfaitement sous FF, IE et Opera : la fenêtre de téléchargement du fichier demandé apparaît bien ! par contre sous Safari, cela télécharge le fichier download.php...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 if (ereg(".zip",$data['url'])){$xtype="application/zip";} elseif(ereg(".rar",$data['url'])){$xtype="application/x-rar-compressed";} elseif(ereg(".exe",$data['url'])){$xtype="application/octet-stream";} elseif(ereg(".gif",$data['url'])){$xtype="image/gif";} elseif(ereg(".png",$data['url'])){$xtype="image/png";} elseif(ereg(".jpg",$data['url'])){$xtype="image/jpeg";} else { $xtype="application/force-download"; } header("Content-Transfer-Encoding: binary"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: ".$xtype); header("Accept-Ranges: bytes"); header("Content-Disposition: attachment; filename=".$filename.";"); header("Content-Length: ".$filesize);
J'ai cherché d'où venait le souci (content-type, content-disposition) mais toujours le même résultat à l'arrivée![]()







Répondre avec citation
Partager