2012-09-10 16 views
8

Ho codice che scarica un'immagine da un collegamento falso. Ho guardato gli altri commenti/siti, ma niente mi ha aiutato a trovare la soluzione al fastidioso:Impossibile caricare la risorsa: carico frame interrotto - Agian

"Impossibile caricare risorsa: Telaio di carico interrotto"

miei intestazioni PHP sono dopo aver letto il valore 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); 

e ho scritto jQuery che chiama un iframe per scaricare il file:

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

mi scarica il file in modo corretto, ma mostra un errore in th e console, per favore fatemi sapere se è riparabile ??

risposta

3
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'); 

questo lavoro ;-)

+0

Grazie per la risposta, la lunghezza del contenuto è importante per le dimensioni ... cosa succede se il file è più grande di 177998? – Jason

+0

Impostare la lunghezza del contenuto sulla lunghezza del contenuto effettivo .. onestamente, ho effettivamente rimosso la lunghezza del contenuto e lo script ha funzionato bene. –

+2

non funziona in safari – fdrv

0

Okay, quindi attraverso un convo con Vimeo, e capire che il problema era dovuto al Content-Disposition: attachment. Mi hanno detto che questo è un problema ereditato dai browser. Non devi utilizzare un DNS diverso per caricare le risorse, quindi funzionerà, ma i browser non ne saranno contenti.

Problemi correlati