Laravel Response :: download在使用URL :: to时抛出FileNotFoundException异常

时间:2014-08-31 15:17:13

标签: laravel-4

我正在使用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出了什么问题?

1 个答案:

答案 0 :(得分:2)

Response::download需要/srv/http/some/file之类的文件系统路径,而不是http://hostname/some/file的网址。

来自documentation

Response::download($pathToFile);

您还可以使用可选参数来设置将在客户端保存的文件的名称,以及如下所示的阵列附加标题:

Response::download($pathToFile, $name, $headers);