0

だから私はhttp://ninjawars.netでウェブゲームを実行します

外部でホストされている画像の表示

アバターではない埋め込み可能な画像を提供したい(私はGravatarの優れたサービスを認識しており、すでに使用していますが、これらの画像はメールに関連付けられません)。これは、自分のアップロードした画像をホストしていることがわかったためです。画像はしばしば苦痛であり、他の人々は、いわば、すでにそれを上手くやっています。

外部ファイルサイズの超過を防ぐ

ただし、これにより、画像サイズの制御が多少失われます。単純なリンクを使用すると、ユーザーは大きなファイルサイズをアップロードでき、cssに特定の表示サイズで表示されますが、読み込み時間が非常に長くなる可能性があります。

1つの方法:URLを制限する

そのため、ユーザーが入力したURLパラメータをある程度制限し、オプションを特定の画像ホスティングサービスに制限する必要があると思います。これに関する私の最初の考えは、URLの固定セクションを必要とすることです。これは次のようなフォームを表示します。

[ http://flickr.com/photos/] [写真の残りのURLをここに入力][/sizes / sq /]

したがって、画像をflickrでホストされるように制限し、おそらくflickrでサイズを設定する特定のURLに制限します。おそらく、URLの最初と最後の部分の重複するインスタンスを削除するバックエンドPHP処理を使用します。人々は完全なURLで投稿してそれを機能させることができます。

より良い選択肢?

だから問題は、これはそれを行うためのばかげた方法ですか?すでにそこにもっと良いjavascriptまたはphpソリューションがありますか?ある程度の制御を行いながら、外部で画像をホストするにはどうすればよいですか?それとも、この量の制御は妄想的であり、実際には必要ではありませんか?

4

2 に答える 2

1

ほとんどの人はファイルサイズについてまったく手がかりがないので、おそらく大きな画像について心配するのは無意味ではないと思います。彼らアバターとして4Gbの画像を使おうとします。

URLを取得した場合、画像を制御する一般的な方法はありません。

画像を自分で取得し、サイズを変更し、結果を保存して提供することもできますが、それはアップロードとほぼ同じです...

はい、アップロードされた画像をホストするのは苦痛ですが、最善の解決策のようです。

あなたはいくつかのことに気をつけなければなりません:

  • アップロードのサイズを制限して、ユーザーがサーブを窒息させないようにします
  • 予期しない形式のファイルを削除します
  • imagemagickなどを使用して、画像のサイズをできるだけ早く変更し、ファイルによって多くのスペースが消費されるのを防ぎます
  • 廃止されたイメージがディスクにいっぱいになるのを防ぐために、クリーンアップを実行します

いくつかの作業が必要ですが、それはいくつかの制御を行うためのより良い方法です...

また、技術的な解決策が何であれ、攻撃的および/または著作権で保護された画像の問題に対処することを忘れないでください)

于 2010-01-21T17:51:58.080 に答える
1

HTTP「HEAD」リクエストを使用して、ダウンロードせずにファイルサイズを取得します。応答フィールド「Content-Length」。phpまたはjs(ajax)でチェックしています...私はjsを好むので、サーバーからクライアントへの負荷を取り除きます。また、HTTP 1.1によると、1人のユーザーエージェントからの接続はこれ以上使用しないでください。また、サーバーの多くのユーザーが、サーバーからイメージホスティングサーバーへの多数の同時接続を引き起こす可能性があります。

于 2010-01-21T17:46:14.757 に答える