码迷,mamicode.com
首页 > 其他好文 > 详细

base64\blob

时间:2017-11-14 22:32:25      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:back   --   dea   oid   mime   asd   obj   dom   html dom   

踩了一个巨坑。

 

目前微信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));

 

base64\blob

标签:back   --   dea   oid   mime   asd   obj   dom   html dom   

原文地址:http://www.cnblogs.com/luoeeyang/p/7834785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!