Как загрузить файлы прямо на S3 без использования локального хранилища? [закрыто]


18

Я ищу плагин WordPress, который позволил бы загружать файлы прямо на

Мы являемся магазином разработки, который активно участвует в создании сайтов CMS с клиентами. Это означает, что мы часто выполняем итерации сайтов, которые используют клиенты, и загружают файлы. В наших проектах мы храним базу данных и код в репозитории git, что упрощает перенос кода из рабочей среды в локальную.

Проблема этого процесса заключается в том, что некоторые файлы, загружаемые клиентами, очень большие, и мы не хотим загружать их в репозиторий, но мы все равно хотели бы иметь доступ к ним, как если бы они были у нас.

Итак, я подумал, что вместо перемещения файлов мы можем просто использовать стороннюю организацию, которая будет размещать файлы, и мы просто будем обращаться к ним. Я мог бы использовать Amazon S3 с плагином для резервного копирования, но я бы предпочел просто загрузить на S3 через интерфейс администратора.

Вторая причина, по которой вам нужен этот плагин, заключается в том, что мы размещаем блоги с 20-30 ГБ изображений с высоким разрешением. Я бы предпочел не хранить эти файлы на нашем сервере, потому что серверное пространство дорого. Для размещения файлов использовать Amazon S3 дешевле.

В заключение, есть ли плагин, который позволяет использовать загрузку WordPress Media, но на самом деле он будет обходить локальное хранилище и загружать файлы прямо на сервер?

Заранее благодарю за ответы!


1
Понравился этот wordpress.org/extend/plugins/tantan-s3 ?
v0idless

2
Вместо полного ответа, который я не могу оставить на данный момент: Сохранение WordPress Media в Amazon S3 (тизер)
Анника Бэкстром

@ v0idless, ваша ссылка выглядит так, как будто она сработает. Мне нужно будет попробовать это.
Таразм

@ AdamBackstrom, ваша ссылка выглядит точно так же, как и я, но я не уверен насчет его решения. Мне нужно будет взглянуть на это поближе.
Таразм

Почему ты не оставляешь ответы?
Таразм

Ответы:


5

У меня было такое же требование: моему VPS не хватало места на диске, но я все еще хотел управлять фотографиями с помощью WordPress. tantan-s3 не хватило, так как копия каждой фотографии хранится локально.

Можно абстрагировать хранилище файлов с помощью потоковых оболочек PHP, но пара основных компонентов WordPress несовместимы. Итак, вот краткий ответ: изначально WordPress не поддерживает достаточно функциональности, чтобы сделать это возможным.


Двигаемся дальше: билет WordPress # 18543 занимается исправлением ядра для поддержки потоковых упаковщиков imagejpeg()(и других функций GD) иwp_mkdir_p() .

Zend_Service_Amazon_S3_Stream предоставляет упаковщик потока S3, но он неэффективен, запрашивая по умолчанию 8192 байта за раз, а не буферизуя больше, генерируя огромное количество запросов в процессе. Я сидел на этом в течение нескольких месяцев, так что я мог бы выпустить моды в дикую природу . Этот патч работает против Zend Framework 1.11.10.

Завершение круга является плагином для перевода пути загрузки на S3 .

Я бы хотел, чтобы кто-то взял это дальше, чем я, но это не продвинется далеко, пока ядро ​​WordPress не улучшит поддержку потоков.


1
Если у вас есть VPS, почему бы просто не смонтировать корзину s3 и не указать этот путь в качестве каталога загрузки?
v0idless

@ v0idless, это отличный вопрос. Это не было бы портативно, но я думаю, что это будет работать. Для монтирования корзины все равно потребуется плагин для перевода URL Адама. Я прав?
Таразм

Параметры мультимедиа WordPress позволяют вам установить каталог загрузки: Store uploads in this folderэтого должно хватить для смонтированной корзины. Я думаю, что плагин Адама добавляет протокол s3: // к пути загрузки для поддержки потока.
v0idless

@tarasm Я считаю, pre_option_upload_url_pathчто это важный фильтр для пути загрузки.
Анника Бэкстрем

@AdamBackstrom Я думаю, что это так же близко к окончательному ответу, как и к этому моменту. Не могли бы вы обновить этот вопрос, если ситуация изменится?
Таразм

2

Проверьте плагин WP2Cloud . Загруженные файлы не хранятся локально - они идут напрямую в Amazon S3.

Кроме того, если вы решите, вы можете использовать Amazon S3 для хранения всего содержимого сайта, а не только загрузки. Тем самым вы навсегда решаете проблему резервного копирования и получаете гибкость в размещении веб-сайта в любом месте без перемещения данных.


2

Был плагин под названием WP Read-Only . Который будет загружать файлы в Amazon S3. Я использую это на моем сервере heroku. Потому что вы не можете хранить статические файлы на сервере heroku.



0

Существует плагин, который может служить этой цели, он позволяет загружать файлы непосредственно на S3 из вашей панели администратора или использовать шорткод для встраивания браузера S3 на первые страницы, чтобы пользователи загружали файлы на S3, вы можете контролировать, кто может загружать файлы, удалять, создавать папки и т. д. это очень полезно.

Вот ссылка: Браузер WordPress S3

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.