1

Chrome拡張機能でChromeの現在のページをキャプチャしたい。それから私は見つけます

chrome.tabs.captureVisibleTab(integer windowId, object options, function callback)

コールバック関数は次のようになります

function(string dataUrl) {...};

この API を使用しようとすると、取得する dataUrl は次のようになります

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwME…OdiCJJMxdVYyueT/tGodJ0nTdBsks9Ogt7G0RmZYIAFRcnJwOw9B0AwBgAUUV9AZFeiiigD//Z...

しかし、この画像ファイルの場所を使用するか、別の場所に保存したいと考えています。では、どうすればこれを達成できますか?
または、Web ページのスクリーンショットをキャプチャして、このページを Chrome 拡張機能のファイルとして保存する他の方法はありますか?

4

1 に答える 1

1

base64 でエンコードされた jpeg を php を実行しているサーバーに送信して、ファイルを保存できます。 この例では、例を単純化するためにセキュリティを無視しています

<?php
$screenshot = $_POST['screenshot'];
$screenshot = str_replace('data:image/jpeg;base64,', '', $screenshot);
$screenshot = str_replace(' ', '+', $screenshot);
$data = base64_decode($screenshot);
$file = uniqid() . '.jpeg';
$success = file_put_contents($file, $data);

次に、サーバーに画像への参照を返してダウンロードさせることができます。

于 2013-04-04T19:54:13.847 に答える