0

http://joelb.me/blog/2011/code-snippet-accessing-clipboard-images-with-javascript/に示されている手法を使用して、ユーザーがWebページに貼り付ける画像をキャプチャしようとしています。これはChromeとFirefoxと互換性があります。

すべてがうまくいきます。画像データはに保存されることになっていますpastedImage.src。ページに画像を表示することができます(img要素に表示するか、キャンバスに描画します)。

ただし、保存される内容はpastedImage.srcChromeとFirefoxで異なります。Firefoxは、実際の画像をbase64でエンコードされたデータURLに保存します。これを解析してアップロードできます。Chromeは、画像を指すhttp:// [domain]/[string]の形式で一時URLを保存します。こちらをご覧ください:http://test.vapenerd.com/paste.html

そこから実際の画像データを取得する方法がよくわかりません。試してみましたFileReader()が、うまくいかないようです。

現在の私の回避策は、画像をキャンバスに描画しtoDataURL()、base64でエンコードされたデータURLを返すメソッドを使用して取得することです。

申し訳ありませんが、私はWeb開発者ではありません。これが、あまり混乱しないことを願っています。

ありがとう。

4

1 に答える 1

4

データURIとして読み取るだけです

var reader = new FileReader();
reader.onload = function(event){
    createImage(event.target.result);
}; // data url!
reader.readAsDataURL(blob);

デモ

于 2013-01-28T20:49:25.157 に答える