Php Laravel 4响应::从外部url源下载()
我似乎无法确定是否可以通过Php Laravel 4响应::从外部url源下载(),php,laravel,laravel-4,Php,Laravel,Laravel 4,我似乎无法确定是否可以通过Response::download()方法使用外部URL文件源而不是本地文件路径创建下载链接。例如: Response::download('https://s3.amazonaws.com/bucket/file.zip','Download.zip'); 我在AmazonS3上托管我的静态和上传文件,并希望在请求的用户有权访问该文件时创建一个下载链接。我从上面的测试中得到的只是弹出一个FileNotFoundException错误,指出该文件不存在。正如@Jam
Response::download()
方法使用外部URL文件源而不是本地文件路径创建下载链接。例如:
Response::download('https://s3.amazonaws.com/bucket/file.zip','Download.zip');
我在AmazonS3上托管我的静态和上传文件,并希望在请求的用户有权访问该文件时创建一个下载链接。我从上面的测试中得到的只是弹出一个FileNotFoundException错误,指出该文件不存在。正如@James Binford在评论中所说,不可能对外部源上的文件使用
Response::download()
。它可能并不完美,但您始终可以重定向到URL
Redirect::away('https://s3.amazonaws.com/bucket/file.zip');
根据文件类型,它将以“普通”下载方式打开(例如zip文件),或者,如果浏览器支持,将显示文件内容(例如图像或文本文件)
或者,您可以将文件从服务器下载到应用程序服务器(例如,使用curl),然后使用
Response::download()
嘿,har2vey-据我所知,Response::download
仅适用于文件系统中托管的文件。@JamesBinford您的评论应该是一个答案,只是一个注释。这会将您的AWS S3端点公开给正在查看的任何人。尽管URL仍然是您的应用程序,但下载直接来自S3