Aprire un file generato da PHP via AJAX.

  • Creatore Discussione Creatore Discussione forisco
  • Data di inizio Data di inizio

forisco

Nuovo Utente
28 Ott 2011
3
0
0
Salve a tutti! Ho questo problema, che secondo me non e' difficile da risolvere.

Ho un file in PHP (miofile.php) che, tramite questi headers inseriti al suo interno:
Codice:
Header("Content-type: application/octet-stream");
Header("Content-Disposition: attachment; filename = ".$nomefile);
e ad alcune istruzioni, genera un file di testo (ma potrebbe essere anche una immagine o un PDF). Se da una pagina HTML invio l'istruzione javascript:
Codice:
window.open('miofile.php')
il file mi viene creato correttamente ed il browser lo scarica oppure propone di salvarlo o di aprirlo (dipende dal browser usato). E fin qui tutto bene.
Adesso ho l'esigenza di utilizzare un approccio diverso ed esattamente questo: devo avviare il file tramite AJAX, mostrare una clessidra, ottenere il file e chiudere la clessidra. Il problema sta nel fatto che AJAX mi ritorna il contenuto del file ma ciò che mi occorre è la stessa proposta di prima da parte del browser, ovvero aprire il file col programma predefinito oppure salvarlo.
Come posso fare? Ciao!
 
Ciao Alessandro, ti dò qualche particolare in più!
Il file in PHP mi serve per creare un file di dump (in formato testo) per un database di MySQL e, se il database è grande, ciò richiede molto tempo.
Con l'istruzione window.open('miofile.php') in javascript riesco a farmi creare il file ma non intercetto la fine di tale operazione.
Voglio che all'inizio della creazione del file mi compaia la clessidra (cosa che posso fare anche nel caso del javascript con document.getElementById('clessidra.gif').style.visibility = 'visible') ) ma alla fine voglio farla sparire (con ...visibility = 'hidden')
Con AJAX so quando l'operazione finisce ma con javascript la clessidra compare e scompare subito mentre l'operazione è ancora pendente!
Se non mi sono spiegato bene, fammelo sapere. Grazie.
forisco
 
La soluzione che ho trovato in rete è quella di creare un iframe nascosto e assegnargli come source il file in php.
Proverò e ti farò sapere. Ciao!!!
 

Discussioni simili