如何使用php访问在浏览器上可见的s3私有图像 - php

我有成千上万张图像要在浏览器中显示为S3专用存储桶。
什么是在浏览器上获取这些私人文件的最佳方法。

为了从s3获取私有映像,我发现了下面列出的多个解决方案:

将文件公开。 (不能根据要求使用)
生成文件的预签名URL。
通过来自S3的API提取图像,对其进行缓存并提供服务。
通过更改存储桶策略。

目前,我正在使用signed url获取图像,但是对于每个图像,我都必须生成签名的url。这将需要大量的处理时间。

我的问题是,最好的方法是什么?以及如何实现呢?

参考方案

您使用预签名URL的方法是正确的。

在提供包含图像的HTML页面时,您应该生成这些URL。这可以通过几行代码或createPresignedRequest PHP调用来完成。 (我不熟悉Laravel,但是您使用PHP标记了您的问题。)

因此,页面将包含为用户即时创建的动态内容。

Amazon S3 putObject()-不起作用-PHP - php

我正在使用独立的PHP-S3类:http://undesigned.org.za/2007/10/22/amazon-s3-php-class我已经尝试了所有现成的教程,下载了源代码,更改了相应的变量(设置我的存储桶,access_key,access_secret)。每当我尝试上传任何文件时,我都会想到以下错误:Warning: S3::putObject…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

Laravel Blade模板尝试获取非对象的属性时如何返回null而不是ErrorException - php

我正在编写一些Laravel Blade模板,并且我的模型可能包含空对象。我非常想尝试获取对象属性,如果有错误,则返回null。因此,不必编写以下代码:@if ($model->child_object_that_may_be_null) {{ $model->child_object_that_may_be_null->interesti…

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友

将所有具有特定路径名的URL重定向到某个视图-LARAVEL - php

好的,我正在使用laravel,网站和管理版块运行两个React项目。我希望两个应用程序都在单独的页面上呈现,因为它们的CSS会发生冲突。因此,在我的web.php中,我有这个Route::view('/{path?}', 'app');,但这会将我的所有路线重定向到我的app.blade.php视图。我只是想知道我是…