laravel - Laravel 上传的文件无法通过浏览器访问
问题描述
我正在使用 Laravel 5.7。我可以使用我创建的表单将文件上传到我的系统。我很难让系统用户访问它们。我怎么做?我不断收到 404 错误。
我的文件系统驱动程序
'default' => env('FILESYSTEM_DRIVER', 'public'),
这会将所有文件保存到“storage/app/public”,
foreach ($request->attachments as $attachment) {
$originalname = $attachment->getClientOriginalName();
$ext = $attachment->getClientOriginalExtension();
$formattedname = "doc$doc->id-$i.$ext";
$filepath = $attachment->storeAs("pdocs/customers/$customer/projects/$projectid/tr", $formattedname);
ReviewAttachment::create([
'customer_id' => $customer,
'project_id' => $projectid,
'user_id' => $user,
'filepath' => $filepath,
'filename' => $originalname,
]);
$i++;
}
然后显示该已保存附件中的链接,如下所示:
<a href="{{Storage::disk('public')->url('$attachment->filepath')}}"> View </a>
- 如何通过浏览器访问这些文件?
- 有人可以澄清驱动程序系统中公共驱动器和本地驱动器选项之间的区别吗?他们都将文件保存在我的本地系统上 --- 如果我想向上传文件的用户或有权查看这些上传文件的用户显示上传文件的链接,我应该使用哪一个?公共意味着对所有人开放网络,或者我需要使用“公共”来使文件可用。
解决方案
推荐阅读
- node.js - 不运行时如何启动应用程序
- jquery - 如何更改全日历中的背景颜色
- powershell - 查找不是特定 GG 组成员的用户?
- c++ - C++ 中的二维数组 -
- java - 如何在文件中写入 JSON 对象
- mysql - How to user ALTER statement with GENERATE ALWAYS INSIDE mysql function?
- ios - Why does APNS deliver only last queued notification instead of all queued notifications?
- javascript - Using CSS selector in DTM to create an event based rule
- android - Android 图标在预览中未正确显示
- php - Not going into if statement when pressing a button