php - 来自外部 url 源的 Laravel 4 Response::download()

标签 php laravel laravel-4

我似乎无法确定是否可以通过 Response::download() 方法使用 external URL 文件源而不是本地文件路径。例如:

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

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

最佳答案

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

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

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

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

关于php - 来自外部 url 源的 Laravel 4 Response::download(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21157400/

相关文章:

php - 使用 Laravel 显示博客文章摘录

php - 在 Laravel 中创建星级百分比

php - Laravel - undefined offset 0 - collection.php

php - 循环插入查询有效一次,但之后无效

php - 有人可以提供通用函数来根据给定的偏移量从数组中移动项目吗?

php - 如何在不重新加载的情况下刷新 PHP 页面

php - hasManyThrough 用于 3 个表

laravel - Laravel 4:将什么作为参数传递给Url类?

php - 复选框仍选中后退按钮,但没有 “checked”属性

javascript - 如何在 Laravel 中从服务器发送 javascript 响应而不转义字符