如何在公用文件夹外读取PDF文件?

时间:2019-09-09 08:56:56

标签: php filesystems storage laravel-5.8

当我的pdf文件存储在公用文件夹之外时,我无法访问将pdf文件嵌入刀片中的文件。

storage_path() returning localhost/projectname/public/storage/ 
$path file is=media/filename.pdf

问题是我的pdf在localhost / projectname / storage / app / public /上

我尝试使用

访问
Storage::get($path) 

不起作用,因为返回文件的绝对路径。

Url($path)

返回当前网址

这是我的blade.php,用于显示pdf文件

    <div class="scroller" style="height:500px" data-always-visible="1" data-rail-visible="1" data-rail-color="white" data-handle-color="#A44A1B">
                <object data="{{  url('storage/app/public/'.$pdf) }} }}" type="application/pdf" width="100%" height="100%">
            </div>

输出为

http://localhost/projectname/public/storage/app/public/media/lpsJIhO1EjlHGJgkk3ymBej5O2WTO0J8HS6sPKiO.pdf

必须

http://localhost/projectname/storage/app/public/media/lpsJIhO1EjlHGJgkk3ymBej5O2WTO0J8HS6sPKiO.pdf

1 个答案:

答案 0 :(得分:0)

将此添加到config / filesystems.php

   'storage' => [
                'driver' => 'local',
                'root'   => storage_path(''),
            ],

并使用

fopen(storage_path($path), "r");