Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in meinen Ansichten auf im Laravel-Speicher gespeicherte Bilder zugreifen?

Wie kann ich in meinen Ansichten auf im Laravel-Speicher gespeicherte Bilder zugreifen?

Susan Sarandon
Susan SarandonOriginal
2024-12-08 06:30:11561Durchsuche

How Can I Access Images Stored in Laravel Storage Within My Views?

Auf im Laravel-Speicher gespeicherte Bilder in Ansichten zugreifen

Um auf im Laravel-Speicher gespeicherte Benutzeravatare zuzugreifen und sie in Ansichten darzustellen, haben Sie mehrere Optionen .

Methode 1: Symbolisch Links

Der empfohlene Ansatz besteht darin, einen symbolischen Link zwischen dem öffentlichen Ordner und dem Speicherordner zu erstellen, in dem Ihre Bilder gespeichert sind. Dadurch können Sie auf Dateien aus dem Speicherordner zugreifen, als ob sie sich im öffentlichen Ordner befänden. Um einen symbolischen Link zu erstellen, können Sie den folgenden Befehl verwenden:

php artisan storage:link

Dadurch wird ein Link von public/storage zu storage/app/public erstellt. Sie können dann über Pfade wie die folgenden auf Ihre Bilder zugreifen:

http://somedomain.com/storage/image.jpg

Methode 2: Festgelegte Route (ohne symbolischen Link)

Wenn das Erstellen symbolischer Links nicht möglich ist, können Sie kann eine bestimmte Route zum Lesen und Bereitstellen von Bildern aus dem Speicherordner erstellen. Zum Beispiel:

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

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

    // Retrieve file contents and mime type
    $file = File::get($path);
    $type = File::mimeType($path);

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

    // Return the response
    return $response;
});

Sie können dann über folgende Pfade auf Ihre Bilder zugreifen:

http://somedomain.com/storage/image.jpg

Überlegungen zur Leistung

Das ist wichtig zu beachten Das manuelle Bereitstellen von Dateien über eine Route führt im Vergleich zur Verwendung symbolischer Links zu Leistungseinbußen. Dies liegt daran, dass der gesamte Laravel-Anfragelebenszyklus ausgeführt wird, um den Dateiinhalt abzurufen.

Das obige ist der detaillierte Inhalt vonWie kann ich in meinen Ansichten auf im Laravel-Speicher gespeicherte Bilder zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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