使用Laravel将URL文件上传到AWS

4
我知道如何使用Laravel从本地存储上传文件到AWS。但我想直接从外部URL上传文件到AWS,而不需要下载。
您有什么建议,如何实现这一点?

这里可能有太多可能的答案,或者好的答案对于这种格式来说太长了。请添加细节以缩小答案集或隔离可以在几段落内回答的问题。我建议您找到一个开发论坛(也许是Quora?)来解决一般性问题。然后,当您有具体的编码问题时,请回到StackOverflow,我们将很乐意帮助您。 - Jay Blanchard
谢谢@JayBlanchard,但我找不到任何详细说明此事的链接,也没有在laravel文档中提到。你能分享一些资源链接吗? - Sachin Singh
2个回答

8

我最终使用Intervention Image Library解决了这个问题。

use Image;
use Storage;


$image = Image::make('url');
$image->encode('jpg');
$s3 = Storage::disk('s3');
$filePath = '/profilePhotos/'.$time();
$s3->put($filePath, $image->__toString(), 'public');

安装 Image library 的指南可以在 "Laravel 集成" 部分的这里找到。请按照要求安装并集成到您的 Laravel 项目中。

1

接受的答案依赖于另一个库。您可以在没有 Intervention Image 库的情况下完成它。以下是您可以完成此操作的方法-

$url = 'https://remote.site/photo/name.jpg'
$contents = file_get_contents($url);
$name = substr($url, strrpos($url, '/') + 1);
Storage::put($name, $contents);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接