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

问题描述 投票:0回答:4

在我的 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"]
laravel laravel-5 eloquent
4个回答
1
投票

在路径中找不到文件: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]
这样访问。


1
投票

你应该做的是这样的:

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

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


0
投票

你可以这样做

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

0
投票

经过多次尝试,该方法仅在浏览器中有效。在邮递员中,不起作用。

return Storage::disk('public')->download('uploads/'. $image_name);
© www.soinside.com 2019 - 2024. All rights reserved.