Laravel Response::download 在使用 URL::to 时抛出 FileNotFoundException 异常
Posted
技术标签:
【中文标题】Laravel Response::download 在使用 URL::to 时抛出 FileNotFoundException 异常【英文标题】:Laravel Response::download throws a FileNotFoundException exception when using URL::to 【发布时间】:2014-10-24 22:40:52 【问题描述】:我正在使用 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】:Response::download
需要一个文件系统路径,例如 /srv/http/some/file
,而不是一个 URL,例如 http://hostname/some/file
。
来自documentation:
Response::download($pathToFile);
您还可以使用可选参数来设置将保存在客户端的文件的名称和一个数组附加标头,如下所示:
Response::download($pathToFile, $name, $headers);
【讨论】:
以上是关于Laravel Response::download 在使用 URL::to 时抛出 FileNotFoundException 异常的主要内容,如果未能解决你的问题,请参考以下文章