繁体   English   中英

如何将html转换为base64并使用php将图像保存在服务器上?

[英]How to convert html to base64 and save an image on a server with php?

我有一个像这样的json文件:

{"user":{"email":"user@test.com"},
 "screenshot":{"blobFile":"<!DOCTYPE html><html lang=\"en\">...</html>"}}

我想使用XMLHttpRequest将数据发送到PHP文件进行截图。

在PHP文件中获取请求,如:

$data = json_decode(file_get_contents("php://input"), true);
$htmlStr = json_encode($data["screenshot"]["blobFile"]); // <!DOCTYPE html><html lang=\"en\">...

到目前为止,一切正常,但是如何将此字符串转换为图像文件并保存服务器?

我已经尝试在PHP文件中使用html2canvas ,但没有触发。

有任何想法吗?

我会尝试使用PhantomJS 它是无头浏览器,它允许通过多种方式与网页进行交互,包括制作屏幕截图。 这将需要一些时间来了解如何使用它,但是肯定会得到结果。 虽然,如果您的页面结构相当复杂,并且使用诸如ReactJS,AngularJS等框架编写,那么PhantomJS有时会令人头疼。

它的作用是渲染HTML页面,其样式包括服务器端脚本。 如果您不保存HTML字符串而是保存带有COOKIE和SESSION数据的准确URL,然后重建用户在截屏时在打开的页面中拥有的条件,则它将完成工作。

在此处查看示例PhantomJS上的屏幕截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM