Beispielcode für die Implementierung der Datei-Download-Funktion mithilfe des Laravel-Frameworks

黄舟
Freigeben: 2023-03-16 07:44:02
Original
2797 Leute haben es durchsucht

Dieser Artikel konzentriert sich auf die Einführung des Beispielcodes von Laravel zur Implementierung der Datei-Download-Funktion. Freunde, die ihn benötigen, können darauf verweisen

Die letzte LTS-Version (Langzeitunterstützung) von Laravel ist Laravel 5.1. die im Juni 2015 veröffentlicht wurde. Gemäß der Vereinbarung zur LTS-Version endet der zweijährige Bugfix-Support Mitte dieses Jahres, sodass zwangsläufig Mitte dieses Jahres eine LTS-Nachfolgeversion veröffentlicht wird Laravel 5.5. Dieser Artikel konzentriert sich auf die Einführung der Datei-Download-Funktion in Laravel. Bitte lesen Sie diesen Artikel. Mit der

Download-Methode kann eine Antwort generiert werden, die den Browser des Benutzers dazu zwingt, eine Datei mit einem angegebenen Pfad herunterzuladen . Die Download-Methode akzeptiert den Dateinamen als zweiten Parameter der Methode. Dieser Name ist der Dateiname, den der Benutzer beim Herunterladen der Datei sieht. Schließlich können Sie als dritten Parameter ein Array mit HTTP-Header-Informationen an die Methode übergeben:


return response()->download($pathToFile);
return response()->download($pathToFile, $name, $headers);
Nach dem Login kopieren

Das Folgende ist der Dateidownload, den ich in der Projektfunktion verwende.


public function downloadfile($filename)
  {
    $file = public_path().'/test.xls';
    return response()->download($file,$filename.'.xls');
  }
Nach dem Login kopieren

Allerdings verlief der Fortschritt am Anfang nicht sehr reibungslos. Der Fehler ist wie folgt:


FatalErrorException in HandleCors.php line 18:
Call to undefined method Symfony\Component\HttpFoundation\BinaryFileResponse::header()
Nach dem Login kopieren

Die allgemeine Bedeutung ist, dass die Header-Methode nicht definiert wurde. Nach verschiedenen Untersuchungen haben wir eine Lösung gefunden. Wir können den Header in der Handle-Methode neu definieren CorsMiddleware. Fügen Sie die folgende Methode hinzu:


class CorsMiddleware
{
  public function handle($request, Closure $next)
  {
    $response = $next($request);
    $response->headers->set('Access-Control-Allow-Origin' , '*');
    $response->headers->set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE');
    $response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Application');
    return $response;
  }
}
Nach dem Login kopieren

Nach der Neudefinition des Headers haben wir schließlich die Download-Funktion verwendet und festgestellt, dass normal darauf zugegriffen werden kann.

Zusammenfassung

Das obige ist der detaillierte Inhalt vonBeispielcode für die Implementierung der Datei-Download-Funktion mithilfe des Laravel-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!