Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取chrome.tabs.captureVisibleTab的图像文件_Javascript_Google Chrome Extension - Fatal编程技术网

Javascript 获取chrome.tabs.captureVisibleTab的图像文件

Javascript 获取chrome.tabs.captureVisibleTab的图像文件,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我想在Chrome扩展中捕获Chrome的当前页面。然后我发现 chrome.tabs.captureVisibleTab(integer windowId, object options, function callback) 回调函数类似于 function(string dataUrl) {...}; 当我尝试使用这个API时,我得到的数据URL如下 data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDA

我想在Chrome扩展中捕获Chrome的当前页面。然后我发现

chrome.tabs.captureVisibleTab(integer windowId, object options, function callback)
回调函数类似于

function(string dataUrl) {...};
当我尝试使用这个API时,我得到的数据URL如下

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwME…OdiCJJMxdVYyueT/tGodJ0nTdBsks9Ogt7G0RmZYIAFRcnJwOw9B0AwBgAUUV9AZFeiiigD//Z...
但我想使用此图像文件位置或将其保存到其他位置。那么我如何才能做到这一点呢?

或者是否有其他方法可以捕获网页截图,然后将此网页保存为chrome extension中的文件?

您可以将base64编码的jpeg发送到运行php的服务器以保存文件。 此示例忽略安全性以简化示例


您可以将base64编码的jpeg发送到运行php的服务器以保存文件。
此示例忽略安全性以简化示例


可能重复的
数据:图像/jpeg;base64,…
是有效的URL。如果您不想下载文件,那么“…然后将此页面另存为文件”是什么意思?我的意思是将此文件保存到扩展名中的某个特定位置。这一切都应该在代码中完成。你是说像这样的东西吗?不,我想把图像文件保存到像“C:\temp”这样的位置。可能重复
数据:image/jpeg;base64,…
是有效的URL。如果您不想下载文件,那么“…然后将此页面另存为文件”是什么意思?我的意思是将此文件保存到扩展名中的某个特定位置。这一切都应该在代码中完成。你的意思是什么?不,我想把图像文件保存到像“C:\temp”这样的位置。
<?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);