Heim > Backend-Entwicklung > PHP-Tutorial > Wie greife ich für eine optimale Leistung auf gespeicherte Bilder in Laravel-Ansichten zu?

Wie greife ich für eine optimale Leistung auf gespeicherte Bilder in Laravel-Ansichten zu?

Linda Hamilton
Freigeben: 2024-12-09 03:22:11
Original
710 Leute haben es durchsucht

How to Access Stored Images in Laravel Views for Optimal Performance?

Zugriff auf im Laravel-Speicher hochgeladene Bilder zum Rendern von Ansichten

In Laravel-Anwendungen können Benutzeravatare oder andere Medienressourcen im Speicherverzeichnis gespeichert werden . Um auf diese Bilder zuzugreifen und sie in einer Ansicht anzuzeigen, haben Sie mehrere Möglichkeiten:

1. Erstellen Sie einen symbolischen Link

Ab Laravel 5.3 erstellt der Befehl artisan storage:link einen symbolischen Link von public/storage zu storage/app/public. Dadurch können Sie über den vorherigen Pfad auf Dateien im letztgenannten Verzeichnis zugreifen:

http://somedomain.com/storage/image.jpg
Nach dem Login kopieren
Nach dem Login kopieren

2. Verwenden Sie eine benutzerdefinierte Route für den Dateidienst

Wenn das Erstellen eines symbolischen Links nicht möglich ist, können Sie eine benutzerdefinierte Route zum Lesen und Bereitstellen von Bildern erstellen:

Route::get('storage/{filename}', function ($filename) {
    $path = storage_path('public/' . $filename);

    if (!File::exists($path)) {
        abort(404);
    }

    $file = File::get($path);
    $type = File::mimeType($path);

    $response = Response::make($file, 200);
    $response->header("Content-Type", $type);

    return $response;
});
Nach dem Login kopieren

Mit dieser Route Sie können über den folgenden Pfad auf Dateien zugreifen:

http://somedomain.com/storage/image.jpg
Nach dem Login kopieren
Nach dem Login kopieren

3. Verwenden Sie die Interventionsbildbibliothek (optional)

Wenn Sie die Interventionsbildbibliothek verwenden, können Sie deren Methode „response()“ nutzen:

Route::get('storage/{filename}', function ($filename) {
    return Image::make(storage_path('public/' . $filename))->response();
});
Nach dem Login kopieren

Wichtiger Hinweis:

Das manuelle Bereitstellen von Dateien kann im Vergleich zur direkten Verarbeitung durch den HTTP-Server zu Leistungseinbußen führen. Betrachten Sie daher symbolische Links als die bevorzugte Methode für eine optimale Leistung.

Das obige ist der detaillierte Inhalt vonWie greife ich für eine optimale Leistung auf gespeicherte Bilder in Laravel-Ansichten zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage