8 votes

Échec du chargement de la ressource : Chargement du cadre interrompu - Agian

J'ai un code qui télécharge une image à partir d'un faux lien. J'ai regardé les commentaires et les sites des autres mais rien ne m'a aidé à trouver la solution à ce problème ennuyeux :

"Échec du chargement de la ressource : Le chargement de la trame a été interrompu"

mes en-têtes php sont après que j'ai lu la valeur GET :

header("Pragma: public"); // required 
header("Expires: 0"); 
header("Cache-Control: private",false); // required for certain browsers 
//header('Content-Length: '. @filesize($id));
header('Content-Type: '.$mim);
header('Content-Disposition: attachment; filename="'.$date.basename($fileName).'"');
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
readfile($fileName);

et j'ai un jQuery script qui appelle une iframe pour télécharger le fichier :

$('body').append('<iframe class="download" src="download.php?id='+downloading+'" style="visibility:hidden;" width="0" height="0"></iframe>');

Je télécharge le fichier correctement, mais montre une erreur dans la console, s'il vous plaît faites-moi savoir si c'est réparable ?

2voto

conal_lab24 Points 124
header("Pragma: public"); // required
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Cache-Control: private",false); // required for certain browsers 
header("Content-type: application/x-unknown"); // I always use this
header("Content-Disposition: attachment; filename='theFilename.ext'");
header("Content-Transfer-Encoding: binary");
header("Content-Length: 177998"); // you might want to set this
readfile('/the/url/to/theFilename.ext');

Cela va fonctionner ;-)

0voto

Jason Points 124

Ok, après une conversation avec Vimeo, j'ai compris que le problème était dû à Content-Disposition : attachment. Ils m'ont dit que c'est un problème qui est hérité des navigateurs. Vous n'êtes pas censé utiliser un DNS différent pour charger les ressources, donc cela fonctionnera mais les navigateurs ne seront pas contents.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X