我在本地有以下文件(图片):
http://localhost:8080/uploads/user/10230313465a9fb5e0e65a85.73871653.png
我正在使用response()->download(path)
,上述路径存储在数据库表列中。
例外是:
文件http://localhost:8080/uploads/user/10230313465a9fb5e0e65a85.73871653.png
不存在
但是通过检查浏览器中的文件确实会显示上传的照片。这意味着该文件存在
我在这里缺少什么?
答案 0 :(得分:1)
// Absolute path to file
$file = public_path() . 'uploads/user/10230313465a9fb5e0e65a85.73871653.png';
return response()->download($file);
请确保该文件存储在Laravel的公用文件夹中。此外,您还可以执行以下操作:
// Absolute path to file
$file = public_path() . 'uploads/user/10230313465a9fb5e0e65a85.73871653.png';
if (! is_file($file)) {
// File can not be found
abort(404);
}
return response()->download($file);
如果找不到文件,这是一个更合适的返回响应。
我希望这会有所帮助。