cari

Rumah  >  Soal Jawab  >  teks badan

Dalam Laravel, bagaimana untuk memaparkan fail imej yang disimpan dalam direktori storan.

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?

滿天的星座滿天的星座2749 hari yang lalu595

membalas semua(1)saya akan balas

  • 滿天的星座

    滿天的星座2017-05-16 16:50:12

    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.

    balas
    0
  • Batalbalas