Laravel 存储文件未下载(未找到文件)

Laravel Storage File not downloading (File not found)

在我的 laravel 项目中,我从我尝试下载文件的地方上传了文件夹。

文件夹层次结构:

-Project
--Public
---Storage (created using php artisan storage:link)
----uploads
-----file.jpg ( i am trying to download)

控制器:

public function getdata(Request $request)
    {
        return Storage::download('/storage/uploads'.$image_name);
    //image name is file.jpg
      }

错误:

File not found at path: storage/uploads["file.jpg"]

你可以这样做

return Storage::disk('public')->download('uploads/'. $image_name);

File not found at path: storage/uploads["file.jpg"]

[] 这表明您在 path 中传递数组,并且 /uploads

之后丢失

你的路径应该如下所示

storage/uploads/file.jpg

在上面的实现之后你的代码看起来像

Storage::download('/storage/uploads/'.$image_name);

从数据库获取图像

$image_name = Files::select('file_name')->where('custom_code', $request->id)->first();

您可以使用 ->first() 并且可以使用 $image_name->file_name

访问图像列

并以您的方式 $image_name[0] 那样访问。

你应该做的是这样的:

public function getdata(Request $request)
{
   return Storage::download("uploads/" . $image_name['file_name']);
}

参考: https://laravel.com/docs/8.x/filesystem#downloading-files