So erstellen Sie den Download-Link in Laravel

8

Ich habe Probleme beim Erstellen eines Download-Links zum Herunterladen von Dateien über eine Mobile App aus dem Laravel Storage-Ordner.

Ich habe etwas wie $link = Response::Download(storage_path()./file/example.png) gemacht, aber ohne Erfolg.

Ich habe die Datei in den öffentlichen Ordner verschoben und http://domain.com/file/example.png und asset('file/example.png') verwendet, aber ohne Erfolg.

Ich bekomme 404 NOT FOUND ERROR

Wie löse ich das?

    
BlackPearl 17.11.2014, 11:26
quelle

2 Antworten

19

Sehen Sie sich die Dokumentation von Laravel Helpers an: Ссылка

Wenn Sie eine Verknüpfung zu Ihrem Asset haben möchten, können Sie das folgendermaßen tun:

%Vor%

Bearbeiten

Wenn die obige Methode für Sie nicht funktioniert, können Sie eine ziemlich einfache Download-Route in app / routes.php implementieren, die wie folgt aussieht:

Beachten Sie, dass in diesem Beispiel davon ausgegangen wird, dass sich Ihre Dateien in app / storage / file / Speicherort

befinden %Vor%

Verwendung: Ссылка

Dies wird nach einer Datei suchen in: app / storage / file / example.png (falls vorhanden, sende die Datei an den Browser / Client, sonst wird eine Fehlermeldung angezeigt).

P.S. '[A-Za-z0-9\-\_\.]+ Dieser reguläre Ausdruck stellt sicher, dass Benutzer nur Dateien mit Namen anfordern können, die A-Z oder a-z (Buchstaben), 0-9 (Zahlen), - oder _ oder . (Symbole) enthalten. Alles andere wird verworfen / ignoriert. Dies ist eine Sicherheitsmaßnahme ....

    
Latheesan 17.11.2014, 14:14
quelle
4

Aktualisierung der Antwort für Laravel 5.0 und höher:

%Vor%     
Dylan Pierce 07.04.2016 22:27
quelle

Tags und Links