最近项目需要做截屏功能,然而不是做APP调用设备截屏,所以截图通过HTML来实现,经过查询资料,记录一下。
资料来源 https://blog.csdn.net/qq_27818157/article/details/53195933
由于远程JS html2canvas.js 可能访问不到,所以https://blog.csdn.net/gongqinglin/article/details/78563901提供了html2canvas.js源码。
对于后台,该博客使用的是sun.misc.BASE64Decoder.jar来解析Base64图片URL。但在项目构建过程中,发现Sun公司的sun.misc.BASE64Decoder.jar是非开源jar包,在maven库没有该包,而且通过资源显示说sun.misc.BASE64Decoder该包安全性不高、又没有开源,所以十分不推荐使用。
所以解析Base64图片URL的时候,使用另外一个jar包解析commons-codec-1.10.jar。注意不要使用到JDK的包,可能由于项目迁移JDK版本不一样或不存在而报错。
// Base64解码
org.apache.commons.codec.binary.Base64 base64 = new org.apache.commons.codec.binary.Base64();
byte[] bytes = base64.decode(base64StrImgData);
maven pom.xml配置
<dependencies>
<!-- Base64编码需要 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>codec</artifactId>
<version>1.10</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/commons-codec-1.10.jar</systemPath>
</dependency> </dependencies>