使用jQuery手写签名插件jSignature,出现了一些问题求大神指导?
问题描述:
完成在线签合同功能,使用插件jSignature完成电子签名,然后把合同下载到本地,电子签名图片存到数据库的数据为base64格式的,在合同转word的时候,电子签名的图片不显示,把数据库里存的base64编码数据拿到网上在线解析可以生成图片,但是用java代码写的base64解码,生成的图片还是打不开,为什么,怎么解决啊,求大神们给点意见
使用的是springMVC框架
答
或者传base64 的字符串,后台解析为图片 (先把前面的描述字符串去掉 data: .....一直到base64,都是描述信息),按base64 编码转二进制,写入文件xx.png 就保存为图片了,楼主的错误在于认为这是一个图片,
这不是图片,这不是图片
signaturePad.toDataURL(); 提供的是一个只有浏览器能识别的,
你需要转为二进制 (前端可以canvas.toBlob搞定),后端直接写入byte数组,
再保存为图片,用户下载后才是真正的图片,否则就是一个乱七八糟的字符串
答
不要存base64 位,直接转二进制的文件保存办法,
canvas.toBlob(function(bolb){
//bolb 图片的二进制文件,直接上传就是图片
})