从 Laravel 下载文件
Download files from Laravel
我想在 Laravel 中创建端点,我可以在 Linux 中使用它来下载 zip 存档。
我创建了:
public function download_templates()
{
return response()->file(base_path() . '/sites/templates.zip');
}
但是当我使用时:
wget http://linktopage.com/api/download_templates
结果我收到 HTML 端点代码。
有人有想法吗?
要初始化文件下载响应应包含 headers 表示它是附件,否则浏览器将打印内容。
根据laravel docs "file" 方法用于您只想输出文件内容而不下载的情况。对于下载,有一种强制下载的方法"download"。
如果您使用 5,只需使用此代码。*
return response()->download(public_path('/sites/templates.zip'));
另外,我把base_path()
改成了public_path()
,所以你必须把文件放在Public里,如果没有你可以用base_path()
代替public_path()
在上面的代码中。
我想在 Laravel 中创建端点,我可以在 Linux 中使用它来下载 zip 存档。
我创建了:
public function download_templates()
{
return response()->file(base_path() . '/sites/templates.zip');
}
但是当我使用时:
wget http://linktopage.com/api/download_templates
结果我收到 HTML 端点代码。
有人有想法吗?
要初始化文件下载响应应包含 headers 表示它是附件,否则浏览器将打印内容。
根据laravel docs "file" 方法用于您只想输出文件内容而不下载的情况。对于下载,有一种强制下载的方法"download"。
如果您使用 5,只需使用此代码。*
return response()->download(public_path('/sites/templates.zip'));
另外,我把base_path()
改成了public_path()
,所以你必须把文件放在Public里,如果没有你可以用base_path()
代替public_path()
在上面的代码中。