我似乎无法确定是否可以通过 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/