Zugriff auf Speicherbilder in Laravel-Ansichten
Bei der Arbeit mit hochgeladenen Bildern, die im Laravel-Speicher gespeichert sind, kann deren Anzeige in Ansichten eine Herausforderung darstellen. Da der Server Anfragen an /public weiterleitet, ist für den Zugriff auf in /storage gespeicherte Bilder eine Lösung erforderlich.
Symbolischer Link
Der empfohlene Ansatz besteht darin, einen symbolischen Link zwischen / zu erstellen. public/storage und /storage/app/public. Dieser Befehl ist in Laravel-Versionen 5.3 und höher verfügbar:
php artisan storage:link
Dadurch wird ein Symlink erstellt, der Ihnen den Zugriff auf Dateien in /storage/app/public über Pfade wie:
http://somedomain.com/storage/image.jpg
Schließungsroute
Wenn die Erstellung symbolischer Links keine Option ist, können Sie eine Schließungsroute zum Lesen definieren und stellen Sie die Bilder bereit: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; });
http://somedomain.com/storage/image.jpg
Warnung
Das manuelle Bereitstellen von Dateien verursacht eine Leistung Strafe im Vergleich zur serverseitigen Handhabung. Dieser Ansatz ist jedoch für geschützte Dateien oder Umgebungen nützlich, in denen keine symbolischen Links erstellt werden können.Das obige ist der detaillierte Inhalt vonWie kann ich in Laravel-Ansichten auf Speicherbilder zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!