php - Laravel - 无法将文件从磁盘保存到数据库记录
问题描述
我正在使用 S3 来存储我的文件。我的目录中保存了一个视频。我想从 S3 获取视频并将其保存到我的数据库中的记录中。这是我正在使用的代码:
$file = Storage::get('input/TESTING.mp4');
$newer->video = $file;
我收到此错误(来自我的代码的第二行):
file_exists() expects parameter 1 to be a valid path, string given
该文件确实存在,我 100% 确定,Laravel 正在找到它。我使用 Storage::exists() 函数来测试它。
我不确定问题是什么,任何帮助将不胜感激。
解决方案
该方法Storage::get
返回文件的内容而不是位置。您可以在文档中看到它。
要获取路径,您应该执行以下操作:
$path = Storage::disk('local')->getDriver()->getAdapter()->applyPathPrefix('filename.png');
或者,从 Laravel 5.4 开始:
$path = Storage::disk('public')->path('filename.png');
更多细节:
推荐阅读
- rest - MSF4J POST 方法接收部分数据
- java - 我如何通过定位同一父母的孩子 B 来遍历特定的孩子 A?
- php - 在 Laravel 中编辑具有多对多关系的表
- docker - 从 windows box web 浏览器访问部署在 windows Docker 容器中的 eureka 服务器仪表板
- node.js - 如何使用 nodejs 读取 docx 文件?
- c - 为什么 yytext 会跳过 YACC 中的第一个输入?
- ruby-on-rails - 如何将默认 json 添加到 Rails 标准资源路由?
- java - Drools 规则未得到评估,以前的规则工作正常
- calendar - power bi 中的日历表
- parity - 如何为偶数磁盘计算 RAID 5 奇偶校验?