0

ここに私のジレンマがあります: 画像への URL を提供することで、ユーザーがキャンバスに画像をロードできるようにしたい (それは任意の画像ファイルである可能性があります)。これはできますが、URL から直接画像を追加すると、キャンバスがファイルにエクスポートされません。だから私がやりたいことは、サーバー上に一時的なコピーを作成し、そのパスをjavascript varとして取得できるようにすることです....これは可能ですか?

4

2 に答える 2

0

サーバーがその URL に対して http リクエストを作成するようにいつでも試みることができますが、いくつかの問題があります。

  1. http 要求が内部的に解決されないことを確認する必要があります。つまり、外部サイトのみを許可する必要があります。そうしないと、正しいパスを知っていれば、以前は内部でしか見ることができなかったものが外部からアクセスできるようになり、ネットワークにセキュリティ ホールができてしまいます。
  2. 画像を取得しているサーバーが要求を受け入れるという保証はありません。画像が「許可された」(ここでは大まかに用語を使用している) ページから参照されていることを確認するチェックを行ったり、特定のユーザー エージェント文字列を拒否したり、Cookie が設定されていることを主張したり、上記の組み合わせを主張したりする場合があります。 .
  3. ユーザーがサーバーに URL の要求を行うように要求することを許可されていること、および返されたコンテンツが実際に何らかの画像タイプであることを確認するために、何らかのチェックを実装する必要がある場合があります。 (特に、Web サイトへのクロス サイト スクリプティング攻撃を懸念している場合)、理想的には、ユーザーが実際の目的もなくサーバーを過度に使用することを許可したくない.

問題 #1 と #3 を解決したら、厳密に言えば、ファイルを実際にサーバーにコピーする必要はありませんが、サーバーに保存した方が使用が安定する可能性があります。しかし、それを保存する場合は、別の問題があります。

  1. 現在のユーザーのファイルへのアクセスをどのように制限しますか?
  2. あなたのクリーンアップ戦略は何ですか?
  3. 妥当なパフォーマンスを得るために、リクエストは何らかのクライアント側のキャッシュを利用する必要がありますか? ファイルはどのように正確に提供されますか? ファイルの名前は何ですか?
  4. ファイルが著作権で保護されている場合、またはさらに悪いことに違法な場合はどうなりますか?

もちろん、基本的な解決策を実装するためにこれらすべての質問を念頭に置く必要はありませんが、少なくとも一度は検討することが賢明だと思います。

于 2012-10-24T02:25:17.310 に答える
-1

はい。これはAJAXを介して行うことができます。

于 2012-10-24T01:53:25.973 に答える