首页 > 解决方案 > 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> 
  1. 如何通过浏览器访问这些文件?
  2. 有人可以澄清驱动程序系统中公共驱动器和本地驱动器选项之间的区别吗?他们都将文件保存在我的本地系统上 --- 如果我想向上传文件的用户或有权查看这些上传文件的用户显示上传文件的链接,我应该使用哪一个?公共意味着对所有人开放网络,或者我需要使用“公共”来使文件可用。

标签: laraveluploadfilesystems

解决方案


推荐阅读