[英]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.