Laravel回复下载

时间:2018-03-07 09:53:40

标签: php laravel file upload

我在本地有以下文件(图片):

http://localhost:8080/uploads/user/10230313465a9fb5e0e65a85.73871653.png

我正在使用response()->download(path),上述路径存储在数据库表列中。 例外是:

文件http://localhost:8080/uploads/user/10230313465a9fb5e0e65a85.73871653.png不存在

但是通过检查浏览器中的文件确实会显示上传的照片。这意味着该文件存在

我在这里缺少什么?

1 个答案:

答案 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);

如果找不到文件,这是一个更合适的返回响应。

我希望这会有所帮助。