2011-01-07 8 views
0

クライアントサイドJavaScriptを使用して写真を切り抜く方法はありますか?URLを入力として受け入れるJavaScriptのみを使用して写真を切り取る

私はそのようなツールを探してみましたが、JavaScriptの部分は常にDHTMLを使って画像のどの領域を切り抜いて、その情報をサーバサイドスクリプト(ASP、PHPなど)に送ります実際に作物を実行します。

JavaScriptはファイルを作成したりリクエストすることはできませんが、回避策は可能であると思います。遠方に入力があるので、JavaScriptファイルに画像のURLを入れてもらいたい。これは簡単で、簡単に<image>要素を作成して表示することができます。出力に関しては、私はdata URI解決策を望んでいました。

Severalsolutionsは、私は彼ら(http://jsfiddle.net/sfjsfid/skm6V/1/)を使用しようとすると、私はエラーを取得し、しかし、存在します。

Uncaught Error: SECURITY_ERR: DOM Exception 18

specificationは、あなたが要求したときに、このエラーが生成されなければならないと述べているので、これが起こる理由は、ページがホストされているドメインとは異なるドメインのイメージ。

純粋なクライアントサイドの画像をトリミングするJavaScriptソリューションを別のドメインから取得する方法はありますか?

別のドメイン(http://jsfiddle.net/VX2z2/)の画像の代わりにデータURIを使用すると、正常に動作します。しかし、画像のURLを入力として使用できるようにするには、何らかの形でそれをデータURIに変換する必要があります。私がすでに議論したセキュリティ問題のためにキャンバスを使用することはできません。私が使用できるWebサービスが見つかったとしても、ブラウザでブロックされている別のセキュリティリスクである外部ドメインにAjaxリクエストを送信するため、どちらも機能しません。

Webサービスの独自のバージョンをホストしているか、またはサーバーサイドコードをホストしていることは、オプションではありません。

他のアイデアはありますか?あるいは、データURIを入力として受け入れる唯一のオプションは何ですか?

答えて

1

セキュリティモデルを解除する場合は、Webアプリケーション以外のもの(Firefox拡張機能など)を行う必要があります。これにより、画像を保存してもリクエストを行うための追加の特権が与えられます。

1

セキュリティモデルを回避する方法はありません。別のドメインのデータを要求し、JavaScriptからアクセスするには、サーバー側のヘルプが必要です。

関連する問題