ローカルストレージを使用せずにファイルをS3に直接アップロードする方法 [閉まっている]


18

ファイルを直接アップロードできるWordPressプラグインを探しています

私たちは、CMS Webサイトをクライアントと積極的に共同開発する開発ショップです。これは、クライアントが使用し、ファイルをアップロードしているサイトを繰り返し処理していることを意味します。私たちのプロジェクトでは、データベースとコードをgitリポジトリに保存します。これにより、本番からローカル開発にコードを簡単に移動できます。

このプロセスの問題は、クライアントがアップロードするファイルの一部が非常に大きく、リポジトリにアップロードしたくないことですが、まだファイルがあるようにアクセスできるようにしたいということです。

そのため、ファイルを移動する代わりに、ファイルをホストするサードパーティを使用して、それらにアクセスするだけだと考えました。バックアッププラグインでAmazon S3を使用することもできますが、管理インターフェイスを介してS3にアップロードしたいだけです。

このプラグインが必要な2番目の理由は、20〜30 GBの高解像度画像を含むブログをホストしていることです。サーバーのスペースは高価であるため、これらのファイルをサーバーに保存しないことをお勧めします。Amazon S3を使用してファイルをホストする方が安価です。

結論として、WordPress Mediaアップロードを使用できるプラグインはありますが、実際にはローカルストレージをバイパスし、サーバーにファイルを直接アップロードしますか?

回答ありがとうございます!



2
:私は、現時点では離れることができない完全な応答、の代わりにアマゾンS3に保存するWordPressのメディア(ティーザー)
アニカBackstrom

@ v0idless、あなたのリンクは仕事をするように見えます。私はそれを試してみる必要があります。
タラス

@AdamBackstrom、あなたのリンクは私とまったく同じシナリオのように見えますが、彼の解決策についてはわかりません。もっと詳しく見る必要があります。
タラス

なぜあなたは答えを残さないのですか?
タラス

回答:


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、それは素晴らしい質問です。移植性はありませんが、うまくいくと思います。バケットをマウントするには、まだAdamのURL翻訳プラグインが必要です。私は正しいですか?
タラスム

WordPressメディアオプションを使用すると、アップロードディレクトリを設定できます。Store uploads in this folderこれは、マウントされたバケットに十分です。Adamのプラグインは、s3://プロトコルをストリームサポート用のアップロードパスに追加すると思います。
v0idless

@tarasm pre_option_upload_url_pathは、ダウンロードパスの重要なフィルターだと思います。
アニカバックストローム

@AdamBackstromこの時点で到達するのと同じくらい最終的な答えに近いと思います。この状況が変わった場合、この質問を更新してくれませんか?
タラスム

2

WP2Cloudプラグインをご覧ください。アップロードされたファイルはローカルに保存されず、Amazon S3に直接移動します。

さらに、必要に応じて、Amazon S3を使用して、アップロードだけでなく、すべてのウェブサイトコンテンツを保存できます。そうすることで、バックアップの問題を恒久的に解決し、データを移動することなく、好きな場所にWebサイトをホストできる柔軟性を得ることができます。


2

WP Read-Onlyというプラグインがありました。これにより、ファイルがAmazon S3にアップロードされます。Herokuサーバーで使用しています。静的ファイルをherokuサーバーに保存できないためです。


0

これを試してください:http: //wordpress.org/extend/plugins/tantan-s3/ ^^


tantan-s3を前回見たとき、アップロードをローカルに保存し、Amazon S3にミラーリングするだけでした。
アニカバックストローム

0

この目的に役立つプラグインがあり、管理パネルからファイルを直接S3にアップロードしたり、ショートコードを使用してS3ブラウザーをフロントページに埋め込んでユーザーがS3にファイルをアップロードしたり、アップロードできるユーザーを制御したり、削除、フォルダの作成など、非常に便利です。

リンクはこちら:WordPress S3 Browser

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.