随笔 - 36, 文章 - 0, 评论 - 0, 阅读 - 15417
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

安卓手机微信H5无法长按保存图片修复

Posted on   学以致用的人  阅读(290)  评论(0编辑  收藏  举报

 

1
<image id="saveImg" :src="imgSrc"></image>

  主要是因为空格的处理:this.img.replace(/(\r\n)|(\n)|(\r)/g, "")

网络上的其他方式都尝试了 却忽略了最简单的问题;

1
2
3
4
5
6
7
8
9
10
11
12
13
computed: {
         
            imgSrc(){
                if(/android/i.test(navigator.userAgent)){ //判断是不是安卓手机
                    var imgSrc = this.img.replace(/(\r\n)|(\n)|(\r)/g, "")
                    return imgSrc;
                     
                }else{
                    var url='data:image/png;base64'+this.img
                    return url;
                }
            }
        },

以上就可以解决长按保存的问题 

如果需要点击保存图片:以下方法会指引跳转到浏览器打开,微信中的H5无法下载;

 

1
<image id="saveImg" :src="img"></image>

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// #ifndef APP-PLUS
                const base64 = this.img; // 这里是你的64位图片数据
                var arr = base64.split(',');
                    var bytes = atob(arr[1]);
                    let ab = new ArrayBuffer(bytes.length);
                    let ia = new Uint8Array(ab);
                    for (let i = 0; i < bytes.length; i++) {
                        ia[i] = bytes.charCodeAt(i);
                    }
                    var blob = new Blob([ab], { type: 'application/octet-stream' });
                    var url = URL.createObjectURL(blob);
                    var a = document.createElement('a');
                    a.href = url;
                    a.download = new Date().valueOf() + ".png";
                    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);
                    URL.revokeObjectURL(url);
 // #endif
                

  

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示