我想在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...
但我想使用此图像文件位置或将其保存到其他位置。那我怎么能做到这一点呢? 或者有没有其他方法来捕获网页截图,然后将此页面保存为chrome扩展名中的文件?
答案 0 :(得分:0)
您可以将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);
然后,您可以让服务器返回要下载的图像的引用。