首页 > 解决方案 > 如何阅读公用文件夹外的PDF文件?

问题描述

当我的 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

标签: phpfilesystemsstoragelaravel-5.8

解决方案


在 config/filesystems.php 中添加这个

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

并使用

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

推荐阅读