Laravel 4 Response :: download()来自外部网址源代码

时间:2014-01-16 09:04:20

标签: php laravel laravel-4

我似乎无法确定是否可以通过Response::download()方法使用外部 URL文件源而不是本地文件路径创建下载链接。例如:

Response::download('https://s3.amazonaws.com/bucket/file.zip','Download.zip');

我在Amazon S3上托管我的静态和上传文件,并希望在请求的用户有权访问它时创建下载链接。我从上面的测试中得到的是一个 FileNotFoundException 错误,弹出声明该文件不存在。

1 个答案:

答案 0 :(得分:2)

正如@James Binford在评论中所说,不可能将Response::download()用于外部源上的文件。它可能不完美,但您始终可以重定向到URL

Redirect::away('https://s3.amazonaws.com/bucket/file.zip');

根据文件类型,它将以“正常”下载(例如zip文件)打开,或者,如果浏览器支持,则会显示文件内容(例如图像或文本文件)

或者,您可以将文件从服务器下载到应用程序服务器(例如,使用 curl ),然后使用Response::download()