我正在使用Laravel 4.2并希望使用Response::download
进行下载响应。所以我使用了以下代码:
$headers = array(
'Content-Type: application/vnd.android.package-archive',
);
return Response::download(URL::to("assets/install.apk"), "tracking.apk", $headers);
但我得到FileNotFoundException
例外。然后,我找到this answer并将我的代码更改为:
$headers = array(
'Content-Type: application/vnd.android.package-archive',
);
return Response::download(public_path() . "/assets/install.apk", "tracking.apk", $headers);
现在,它有效。但是,我的问题是URL::to
出了什么问题?
答案 0 :(得分:2)
Response::download
需要/srv/http/some/file
之类的文件系统路径,而不是http://hostname/some/file
的网址。
Response::download($pathToFile);
您还可以使用可选参数来设置将在客户端保存的文件的名称,以及如下所示的阵列附加标题:
Response::download($pathToFile, $name, $headers);