Domanda

Ho appena iniziato a utilizzare meioupload per caricare i miei file da cakephp, però, io non sono sicuro di come faccio a codificare il download.

Ho provato ad utilizzare il seguente codice:

echo $file['Image']['dir'].$file['Image']['filename'];

Tuttavia, sembra che il codice è sbagliato. come è uscita la seguente:

uploads\image\filenamedb_fyp_2.txt 

Come faccio a scaricare il file db_fyp2.txt?

È stato utile?

Soluzione 3

Grazie per la risposta, ma ho già trovato il modo di scaricare i file utilizzando MediaView di CakePHP.

In ogni caso, per rispondere alla mia domanda, per scaricare il file con diversa estensione, il seguente codice può essere utilizzato.

Utilizzo di Media View of cakephp - nel dispositivo di controllo

public function download($id){



     $this->viewClass = 'Media';
     $this->autoLayout = false;


    $file = $this->Image->findById($id); 
     $link = $file['Image']['dir'];



     $params = array(
     'id' => $file['Image']['filename'],
     'name' => $file['Image']['filename'],
     'download' => true,
     'mimeType' => $file['Image']['mimetype'], 
     'extension' => array('pdf','zip','txt'),
     'path' => $link.DS
     );

    $this->set($params);

Altri suggerimenti

Bene, tutto quello che sta dicendo la vostra applicazione è l'eco del percorso file e questo è esattamente quello che sta facendo. Se si desidera solo il file aperto nel browser, utilizzare il flusso di controllo redirect invece, come:

class YourController extends AppController {
    public function upload() {
        // You upload logic here, followed by ...
        $this->redirect($file['Image']['dir'].$file['Image']['filename']);
    }
}

Se si desidera che il browser di offrire il file come un download, ha inviato l'appropriato Content-Disposition intestazione (Vedere l'esempio # 1).

header('Content-Disposition: attachment; filename="' . $file['Image']['filename'] . '"');
readfile($file['Image']['dir'].$file['Image']['filename']);

Prova ad aggiungere il tuo root per cui si sta stampando this.Only se assegnato un URL lo farà work.And il Mitake principale che state facendo qui è che devi fare è un link al posto di < strong> solo stamparlo.

$this->Html->link('Link Name',$path to that file);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top