我似乎无法确定是否可以通过Response::download()
方法使用外部 URL文件源而不是本地文件路径创建下载链接。例如:
Response::download('https://s3.amazonaws.com/bucket/file.zip','Download.zip');
我在Amazon S3上托管我的静态和上传文件,并希望在请求的用户有权访问它时创建下载链接。我从上面的测试中得到的是一个 FileNotFoundException 错误,弹出声明该文件不存在。
答案 0 :(得分:2)
正如@James Binford在评论中所说,不可能将Response::download()
用于外部源上的文件。它可能不完美,但您始终可以重定向到URL
Redirect::away('https://s3.amazonaws.com/bucket/file.zip');
根据文件类型,它将以“正常”下载(例如zip文件)打开,或者,如果浏览器支持,则会显示文件内容(例如图像或文本文件)
或者,您可以将文件从服务器下载到应用程序服务器(例如,使用 curl ),然后使用Response::download()