如何不使用本地存储直接将文件上传到S3?[关闭]


18

我正在寻找一个WordPress插件,该插件可以让我直接将文件上传到

我们是一家开发商店,可以与客户积极共同创建CMS网站。这意味着我们经常迭代客户端正在使用的站点并将文件上传到该站点。在我们的项目中,我们将数据库和代码存储在git存储库中,这使将代码从生产移动到本地开发变得容易。

此过程的问题在于,客户端上载的某些文件非常大,我们不想将它们上载到存储库,但是我们仍然希望能够像拥有它们一样访问它们。

因此,我认为,与其四处移动文件,不如使用一个托管文件的第三方来访问文件。我可以将Amazon S3与备份插件一起使用,但我希望仅通过管理界面上传到S3。

需要此插件的第二个原因是,我们托管的博客具有20-30GB的高分辨率图像。我宁愿不要将这些文件保留在我们的服务器上,因为服务器空间非常昂贵。使用Amazon S3托管文件的成本较低。

总之,是否有一个插件可以使用WordPress Media上载,但实际上会绕过本地存储并将文件直接上载到服务器?

预先感谢您的回答!



2
代替我现在不能离开的完整答复:将WordPress媒体保存到Amazon S3(Teaser)
Annika Backstrom

@ v0idless,您的链接看起来可以完成任务。我需要尝试一下。
tarasm 2011年

@AdamBackstrom,您所链接的看起来与我的情况完全相同,但是我不确定他的解决方案。我将需要仔细研究一下。
tarasm 2011年

为什么不留下答案?
tarasm 2011年

Answers:


5

我有同样的要求:我的VPS缺少磁盘空间,但是我仍然想使用WordPress管理照片。tantan-s3不够用,因为每张照片的副本都存储在本地。

可以使用PHP流包装器来抽象文件存储,但是有几个核心WordPress是不兼容的。答案很简单:WordPress本身不支持足够的功能来实现这一目标。


继续:WordPress票证#18543本身涉及修补核心,以支持imagejpeg()(和其他GD函数)和中的流包装器wp_mkdir_p()

Zend_Service_Amazon_S3_Stream提供了一个S3流包装器,但是它效率低下,一次请求默认的8192字节而不是缓冲更多,从而在该过程中生成大量请求。我已经坐了几个月了,所以我不妨把这些mod放到野外。此修补程序适用于Zend Framework 1.11.10。

完成圆圈是一个用于将上传路径转换为S3的插件

我希望看到有人能比我更进一步,但是直到核心WordPress改进了流支持之后,它才能走得很远。


1
如果您有VPS,为什么不只是挂载s3存储桶并将该路径设置为上传目录呢?
v0idless

@ v0idless,这是一个很好的问题。它不是便携式的,但我认为它可以工作。安装水桶仍然需要亚当的网址翻译插件。我对么?
tarasm 2011年

WordPress媒体选项允许您设置上传目录:Store uploads in this folder该目录足以满足已安装的存储桶的需要。我认为Adam的插件将s3://协议附加到上传路径中以提供流支持。
v0idless 2011年

我相信@tarasm pre_option_upload_url_path是下载路径的重要过滤器。
Annika Backstrom

@AdamBackstrom我认为这与最终答案一样接近。如果这种情况发生变化,您是否愿意更新这个问题?
tarasm 2011年

2

查看WP2Cloud插件。上载的文件不在本地存储-它们直接进入Amazon S3。

此外,如果您选择这样做,则可以使用Amazon S3存储所有网站内容,而不仅仅是上传。这样一来,您可以永久解决备份问题,并获得灵活的网站托管位置,而无需移动数据。


2

有一个名为WP Read-Only的插件。哪个会将文件上传到Amazon S3。我在heroku服务器上使用它。因为您不能在heroku服务器上存储静态文件。


0

试试这个:http: //wordpress.org/extend/plugins/tantan-s3/ ^^


上次查看tantan-s3时,它会将上传内容存储在本地,仅将它们镜像到Amazon S3。
Annika Backstrom

0

有一个插件可以实现此目的,它允许您从管理面板直接将文件上传到S3,或使用简码将S3浏览器嵌入首页以供用户将文件上传到S3,您可以控制哪些人可以上传,删除,创建文件夹等。这非常有用。

这里是链接:WordPress S3浏览器

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.