Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4响应::从外部url源下载()_Php_Laravel_Laravel 4 - Fatal编程技术网

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