跨平台应用开发进阶 (五十三):uni-app 通过 webview 方式嵌套 H5 实现图片点击下载
一、前言
在项目开发过程中,遇到 uni-app 通过 webview 嵌套 H5 项目,实现 H5 中图片点击下载的需求。
二、实现方案
实现思路:需要用到Bitmap
,把base64
转成bitmap
文件对象,保存到系统相册(但是此时某些手机上无法显示出来,其实是保存成功的),然后使用plus.gallery.save
方法将图片保存到系统相册中。
Bitmap
是原生图片对象,其有个方法是loadBase64Data
;于是首先创建一个bitmap
对象;然后使用
loadBase64Data
将base64
字符串转换为bitmap
文件对象;调用
bimap.save
方法,将图片文件存入手机存储(记得bitmap.clear()
,比较占内存);应用
plus.gallery.save
方法将图片成功保存并显示;
点击分享按钮时,将图片转换为 base64 格式。
复制代码
其中,htmlToImage
为利用html2canvas
方法将页面html
转换为base64
。
复制代码
其中,luckyInfo
为待保存图片区域。
复制代码
点击预览图片后,触发保存事件:
复制代码
其中,解析HTML
中[object,object]
内容,可以通过JSON.stringify(需要解析的内容)
实现。plus.gallery.save
实现保存文件到系统相册中。
三、拓展阅读
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/b4e209f30ef81d0f755574239】。文章转载请联系作者。
评论