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 异常的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:laravel 可翻译插件

win 怎么laravel命令

laravel 安装失败

laravel validator怎么验证整数

Laravel 图像规则验证不适用于 Laravel 8,但适用于 Laravel 7 |拉拉维尔 |图片 |验证

laravel和mongo怎么搭配使用