
部分浏览器无法直接保存Base64图片的解决方法
许多用户反映在夸克、QQ和UC浏览器中无法直接保存Base64编码的图片。针对此问题,我们尝试了两种方法,但都存在局限性:
方法一:直接赋值Base64字符串
此方法在部分浏览器(例如,系统默认浏览器)中有效。用户长按图片时,浏览器会提示保存选项。然而,在UC和夸克浏览器中,点击保存却没有任何反应。
方法二:Base64转Blob并使用a标签下载
我们尝试将Base64字符串转换为Blob对象,再利用a标签触发下载。代码如下:
// 将base64转换为blob对象var blob = new Blob([ab], { type: 'application/octet-stream' });// 创建一个a标签var a = document.createElement('a');a.href = url;a.download = new Date().valueOf() + ".png";// 触发a标签的单击事件var e = document.createEvent('MouseEvents');e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);a.dispatchEvent(e);
然而,此方法在夸克、UC和QQ浏览器中下载的文件扩展名为“.bin”,且无法正常保存为图片。
目前可行的解决方案
目前,最可靠的解决方法是在新页面打开裁剪后的图片,然后引导用户手动保存图片,再重新上传。 这虽然增加了步骤,但能确保图片保存的成功率。
以上就是为什么夸克、QQ和UC浏览器无法保存base64图片?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/189856.html
微信扫一扫
支付宝扫一扫