Latar Belakang:
Mekanisme storan Laravel membolehkan anda menyimpan avatar pengguna dan fail lain, tetapi fail ini biasanya terletak dalam folder /storage, yang tidak boleh diakses melalui permintaan HTTP biasa itu menunjuk ke folder /public.
Penyelesaian:
Untuk memaparkan avatar pengguna daripada storan dalam paparan anda, terdapat dua pendekatan utama:
1. Mencipta Pautan Simbolik
Pendekatan yang disyorkan ialah mencipta pautan simbolik antara folder /public/storage dan folder /storage/app/public menggunakan arahan berikut:
php artisan storage:link
Ini mencipta pintasan yang membolehkan anda mengakses fail storan seolah-olah ia berada dalam folder /public. Anda kemudiannya boleh mengakses avatar dalam paparan anda seperti berikut:
<img src="{{ asset('storage/avatars/' . $user->avatar) }}">
2. Menggunakan Laluan Tersuai
Jika anda tidak boleh membuat pautan simbolik atas sebarang sebab, anda boleh menentukan laluan tersuai yang membaca dan menyajikan fail imej. Berikut ialah contoh menggunakan laluan penutupan:
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; });
Anda kemudian boleh mengakses avatar dalam paparan anda menggunakan laluan /storage:
<img src="{{ route('storage.show', ['filename' => $user->avatar]) }}">
Pertimbangan:
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Avatar Pengguna dari Storan Laravel dalam Views?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!