base64lob
Posted luoeeyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了base64lob相关的知识,希望对你有一定的参考价值。
踩了一个巨坑。
目前微信ios/android 均能长按保存src=base64的图片 (微信android x5 专门解决了这个问题);
但是android其他App没有针对解决这个系统问题(姑且认为是问题吧),所以长按base64图片 无法出现保存选项,而是出现了默认的"选择、复制、粘贴 ";
尝试使用blob也不行;
所以目前能解决的办法只有通过后台绕一圈;
base64 --> 后台 ---> url
blob 转 base64
function blobToDataURL(blob, callback) { var a = new FileReader(); a.onload = function (e) { callback(e.target.result); } a.readAsDataURL(blob); }
base64图片 转 blob
function dataURLtoBlob(dataurl) { var arr = dataurl.split(‘,‘), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while(n--){ u8arr[n] = bstr.charCodeAt(n); } return new Blob([u8arr], {type:mime}); }
blob 插入html dom
$("#img").attr("src",window.URL.createObjectURL(blob));
以上是关于base64lob的主要内容,如果未能解决你的问题,请参考以下文章
将 byte[] 转换为数据 URI 的 Base64 字符串