我想在Laravel中创建终结点,可以在Linux中使用该终结点来下载zip存档。
我创建了:
public function download_templates()
{
return response()->file(base_path() . '/sites/templates.zip');
}
但是当我使用时:
wget http://linktopage.com/api/download_templates
结果我收到端点的HTML代码。
有人有主意吗?
答案 0 :(得分:1)
要初始化文件下载响应,应包含指示其附件的标题,否则浏览器将打印内容。
根据laravel docs,“ file”方法用于仅输出文件内容而无需下载的情况。对于下载,有一种方法“下载”会强制下载。
答案 1 :(得分:0)
如果您使用的是5. *,请使用此代码。
return response()->download(public_path('/sites/templates.zip'));
另外,我将base_path()
更改为public_path()
,因此您必须将文件置于“公开”状态,否则,您可以在代码中使用base_path()
代替public_path()
以上。