【发布时间】:2019-07-24 11:44:57
【问题描述】:
在 laravel 中,我正在制作一个上传文件的应用程序,用户可以检索相同的文件。
但每次我点击上传时都会出现此错误。
FileNotFoundException in FilesystemAdapter.php line 91:
/storage/ap/payments/98AcresResort_25.pdf
我的控制器代码是这样的:
$filePath = "/storage/ap/payments/".$payment->payment_image;
$file = storage::disk('public')->get($filePath);
我的文件位于/public/storage/ap/payments/filename.pdf
我试过php artisan storage:link
有人可以提出任何解决方案吗?
【问题讨论】:
-
你有没有运行过这个命令
php artisan storage:link? -
可能是因为缓存?
-
默认情况下
storage::disk('public')会在路径前加上/your/path/to/project/storage/app/public/ -
也许这只是一个错字,因为你有
/storage/ap/,但默认是/storage/app/。 -
如果您没有更改默认存储磁盘,则默认情况下不会将其上传到该特定磁盘。所以你可以尝试只使用 Storage::get($filePath);这都是在 config/filesystems.php 中指定的 Storage::disk('public') 不是选择公用文件夹的方法。这是一种选择“公共”磁盘的方法。路径有点不同所以如果你没有指定你的应用程序默认使用公共,它可能会在“本地”磁盘上。编辑:@cbaconnier 关于如何添加具有特定文件路径的磁盘的答案详细信息。
标签: laravel laravel-5 laravel-5.4 laravel-filesystem