踩了一个巨坑。

目前微信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[].match(/:(.*?);/)[],
bstr = atob(arr[]), 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));

Android Base64图片无法长按保存 问题解决的更多相关文章

  1. H5 中html 页面存为图片并长按 保存

    最近接到的一个新需求:页面一个静态H5,中间有一页是输入信息,然后跳转到最后一页,自动将页面生成图片,用户可以长按图片保存到手机上. 展示一下最后一页的样子: 刚拿到这个需求,在网上看了很多文章,最普 ...

  2. jquery异步ajax超大长度base64图片长字段数据传输问题解决办法和php后台处理办法

    2017年5月9日19:25:02 在做在线签名的时候,到了图片上传的时候,使用jquery异步ajax上传base64的图片数据的时候,使用默认的方式进行数据传输偶尔会出现 生产的图片只有上半部分, ...

  3. Android ListView滑动过程中图片显示重复错乱闪烁问题解决

    最新内容建议直接访问原文:Android ListView滑动过程中图片显示重复错乱闪烁问题解决 主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及L ...

  4. PHP将图片转base64编码以及base64图片转换为图片并保存代码

    图片转base64编码 /*图片转换为 base64格式编码*/ $img = 'uploads/01.png'; $base64_img = base64EncodeImage($img); ech ...

  5. h5页面转图片长按保存

    5页面经常会遇到此类需求.将最后的结果页转换为图片长按保存.下面介绍一下实现此需求的过程 1,依赖安装 cnpm install html2canvas --save 2,依赖引入,使用 绑定 初始化 ...

  6. PHP将Base64图片转换为本地图片并保存

    本文出至:新太潮流网络博客 /** * [将Base64图片转换为本地图片并保存] * @E-mial wuliqiang_aa@163.com * @TIME 2017-04-07 * @WEB h ...

  7. PHP的图片转base64,base64图片转换为图片并保存代码

    打卡记录 1. 图片转base64代码 /*图片转换为 base64格式编码*/ $img = 'images/avatar.jpg'; $base64_img = base64EncodeImage ...

  8. 微信小程序base64图片保存到手机相册

    问题:base64图片不能直接用wx.saveImageToPhotosAlbum保存到手机相册 解决: 先用fs.writeFile写入本地文件,再wx.saveImageToPhotosAlbum ...

  9. 小程序base64图片格式保存至手机相册

    // 保存图片至相册 saveImg() { //获取文件管理器对象 const fs = wx.getFileSystemManager() //文件保存路径 const Imgpath = wx. ...

随机推荐

  1. 36)PHP,搜寻数据库信息在html中显示(晋级1)

    首先是数据库的样子展示: 然后就是我的PHP主文件了: <?php class db { public $host="localhost" ;//这个是主机的地址 publi ...

  2. deeplearning.ai 序列模型 Week 1 RNN(Recurrent Neural Network)

    1. Notations 循环序列模型的输入和输出都是时间序列.$x^{(i)<t>}$表示第$i$个输入样本的第$t$个元素,$T_x^{(i)}$表示输入的第$i$个样本的元素个数:$ ...

  3. CentOS 6.5 搭建DNS服务器

    1.安装bind yum install -y bind 2.修改named.conf主配置文件 vim /etc/named.conf 图中圈中的地方改为any 3.配置正向.反向解析 vim /e ...

  4. web前端知识day01_HTML

    一.HTML入门案例(静夜思) 1.概述 HTML:Hyper Text Markup Language 超文本标记语言超文本:比普通文本功能强大,能实现不同样式(比如加粗,居中,斜体)标记语言:使用 ...

  5. leetcode第22题:括号生成

    力扣上的题目可以大致分为以下种类: 对某种复杂规则的彻底解析,很有可能要构造状态机,充分考虑边界情况. 对某种数据结构及算法的应用. 对数学概念.遍历.动态规划等的综合应用. 通过分析,本题应该属于1 ...

  6. Apollo核心概念之“Namespace”

    转载于https://github.com/ctripcorp/apollo,by Ctrip, Inc. Apollo核心概念之“Namespace” 1. 什么是Namespace? Namesp ...

  7. Luogu_1966_火柴排队

    题目描述 涵涵有两盒火柴,每盒装有\(n\)根火柴,每根火柴都有一个高度. 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的距离定义为:$ \sum (a_i-b_i)^2 ...

  8. Python实现线程交替打印字符串

    import threading con = threading.Condition() word = u"12345上山打老虎" def work(): global word ...

  9. python 常用模块介绍

    1.定义 模块:用来从逻辑上组织python代码(变量.函数.类,逻辑),本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test). 包:用来从逻辑上组织模块的,本质就是 ...

  10. Python之路购物车

    #coding:utf-8 wages=raw_input('what are your wages:') lise_commodity=[('apples',50),('orange',55),(' ...