Ich benutze CakePHP 3.4+ für meine Anwendung.Wie kann ich lokale Datei vom Controller in CakePHP herunterladen 3
Es gibt eine XML-Datei im lokalen Pfad, die beim Klicken auf den Link heruntergeladen werden muss. Ich mag nach der Überprüfung einiger Anforderungen Download von Controller-Aktion zurück nach meiner Anwendung
public function downloadXml()
{
if ($this->_checkMembership()) {
try {
// file path /webroot/agency/data.xml
$xmlLink = WWW_ROOT . 'agency/data.xml';
$this->response->withFile($xmlLink, [
'download' => true,
'name' => 'data.xml',
]);
return $this->response;
} catch (NotFoundException $e) {
$this->Flash->error('Requested file not found. Try again');
return $this->redirect(['action' => 'index']);
}
}
}
Und in Vorlage
<?= $this->Html->link(
__('Download the site'),
[
'action' => 'downloadXml'
],
) ?>
Aber das zeigt nur eine leere Seite auf Klicken auf den Link
Geht man von meinen Kommentaren, ich hatte bereits einen Blick auf sie ... – ndm