Dalam Laravel, bagaimana untuk memaparkan fail imej yang disimpan dalam direktori storan.
滿天的星座
滿天的星座 2017-05-16 16:48:12
0
1
586

Saya menyebut bahawa beberapa gambar dan fail yang dimuat naik oleh pengguna disimpan dalam direktori storan (atas sebab keselamatan, kami tidak mahu pengguna memuat turunnya sesuka hati),

Jadi bagaimana kita harus mendapatkan laluan apabila kita perlu memaparkan fail?

滿天的星座
滿天的星座

membalas semua(1)
滿天的星座

Dua penyelesaian, yang pertama, PHP membaca fail dan mengeluarkannya, kod dalam Laravel adalah kira-kira seperti berikut

// 控制器
// https://github.com/shellus/shcms/blob/v2.0.0/app/Http/Controllers/FileController.php

class FileController extends Controller
{
    public function show($id){
        return File::findOrFail($id) -> downResponse();
    }
}

// Model
https://github.com/shellus/shcms/blob/v2.0.0/app/File.php

public function downResponse(){
    return new BinaryFileResponse($this -> downToLocal());
}
public function downToLocal(){
    $temp_path = tempnam(sys_get_temp_dir(), $this->id);
    $is_success = file_put_contents($temp_path, \Storage::disk('public')->get($this -> full_path));
    return $temp_path;
}
    

Kedua, gunakan arahan Linux ln untuk mencipta pautan lembut folder storan ke folder awam, tetapi berbuat demikian tidak berbeza dengan menyimpan fail secara langsung di khalayak ramai.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!