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
在我的 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