これには2つの方法があり、簡単な方法と難しい方法があります。
The Easy Way: Clipboard APIを利用してください。これは「HTML5」APIですが、Chromeでのみ正しくサポートされています。これにより、クリップボードからペーストした画像にBlob
としてアクセスすることができます。これをXHR2リクエストを介してサーバに送信することができます(Blob
)。
ハードウェイ: 残念ながら、これはあなたがChrome以外のすべてのブラウザで行う必要があり、かなりです。これは、 "ペースト対象要素"の中に隠されたコンテンツ編集可能なDIVを作成することを含みます。貼り付けた画像が表示されます。次に、<canvas>
に画像を描画し、Blob
に変換する必要があります。しかし、待って、それは良くなる。場合によっては、クロスドメインイメージ(サーバー側)をプロキシする必要がある場合もあります(多くの場合可能性があります)。これは、イメージをホストするサーバーがホストしているイメージに対してCORS要求を許可しない場合に必要になることがあります。この状況については、this MDN articleで詳しく読むことができます。
javascriptベースのアップローダFine Uploaderは、すでに画像をアップロードすることができますが、現時点ではChromeでのみサポートされています。私は、十分な要求を受け取った場合、クリップボードAPI以外のブラウザでこれを実装するという面倒を見ることになりました。しかし、確かに、クリップボードAPIを実装していないブラウザで非CORS対応の画像を扱うには、画像サーバー側をプロキシ処理する必要があります(もちろん、私のユーザベースから彼らはそれが欲しい)。
これが役に立ちます。
なぜ投票が停止するのですか? –
投票しませんでしたが、まず何かを試してみることなく解決策を求めているからです。 – Daedalus
私はいつものようにこの質問を投稿する前に試しましたが、私が見つけたものはうまく動作しませんでした。またはChromeでしか投稿できないと思っていませんでした。 –