Salve,
visto che ho guardato sul manuale ufficiale su tutti i collegamenti delle prime tre pagine di risultati di google, sui risultati del search del forum e sono, per il MIO LOCALHOST TUTTE SBAGLIATE !!
mi spiegate come funziona il forzare del download di un file.
GRazie
Il codice che uso è questo:
In pratica uso un MVC
Faccio arrivare ad un pagina caricata in AJAX un url del tipo
Dove x è il percorso del file in cui sono state sostituite le "/" con delle _codice:var url='http://localhost/omero/downloader/download/'+x; $('#corpo').load(url);;
La funzione Download di Downloader.php
trasmette semplicemente l'url ad una pagina di download
L'uno dopo il downloader/download indica che non viene caricato nulla (header stili, js etc..) al di fuori del codice della paginacodice:function download($file) { $this->view->filename=$file; $this->view->render('downloader/download',1); }
Nella pagina download ho questo codice (
Come vedete sono solo dati php e non ci sono echo e simili prima degli header.codice:$filepath=$this->filename; $files= str_ireplace("_","/",$filepath); $files=DROOT."reservedarea/downloadcenter/".$files; $dimensione_file=filesize($files); header('Content-Description: File Transfer'); header('Content-Type: ' . "application/force-download"); header("Content-Disposition: attachment; filename=pippo"); header("Content-Description: Download FILE"); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header("Content-Length: $dimensione_file"); readfile($files);
Prendo il file, riconverto gli _ in / gli aggiungo il percorso di base della cartella download (DROOT."reservedarea/downloadcenter/)
e gli provo a forzare il download.
Quello che ottengo è una pagina di questo tipo:
che penso sia la trascrizione dei dati del file stesso�PNG IHDR����M�tEXtSoftwareAdobe ImageReadyq�e<�"iTXtXML:com.adobe.xmp �߲��DIDATxڤ� �eey�������z��hh�A A4J>q��KLro���e�0�|��f�r�J���h�7�DM�F�D��A� �nhz�������}�w��zO���Ut�9{���y�;��s���������� ���t������K�MMM��?v�X���ԟ����D����@���E�걎=Z?���s .���G�سgO}�Wij�=-[~g ��lj�ಁ9�*�sf��駟
Ditemi voi come posso forzare un download
Daniele

Rispondi quotando