Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengakses Imej Storan dalam Paparan Laravel?

Bagaimanakah Saya Boleh Mengakses Imej Storan dalam Paparan Laravel?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-26 11:25:09363semak imbas

How Can I Access Storage Images in Laravel Views?

Mengakses Imej Storan dalam Paparan Laravel

Apabila bekerja dengan imej yang dimuat naik yang disimpan dalam storan Laravel, memaparkannya dalam paparan boleh menimbulkan cabaran. Memandangkan laluan pelayan meminta kepada /public, mengakses imej yang disimpan dalam /storage memerlukan penyelesaian.

Pautan Simbolik

Pendekatan yang disyorkan adalah untuk mencipta pautan simbolik antara / awam/storan dan /storage/app/public. Perintah ini tersedia dalam Laravel versi 5.3 dan lebih baru:

php artisan storage:link

Ini mewujudkan pautan sym yang membolehkan anda mengakses fail dalam /storage/app/public menggunakan laluan seperti:

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

Laluan Penutupan

Jika penciptaan pautan simbolik bukan pilihan, anda boleh menentukan laluan penutupan untuk membaca dan menyampaikan imej:

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;
});

Akses imej menggunakan laluan berikut:

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

Amaran

Penyajian secara manual fail dikenakan penalti prestasi berbanding pengendalian sebelah pelayan. Walau bagaimanapun, pendekatan ini berguna untuk fail atau persekitaran yang dilindungi di mana pautan simbolik tidak boleh dibuat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Imej Storan dalam Paparan Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn