小程序下载canvas生成图片
  save_share_img:function(img){
      var that = this;
      let { result } = that.data;
      getData.getData(
          "save_share_img",
          {
              id                : result.id,
              share_img_link    : img,
              method            : "POST"
          },
          function(data) {
              if (data.errno){
                  console.log(data.errdesc);
                  return;
              }
              result.share_img = img;
              that.setData({
                  result: result
              });
          }
      );
  },
  download:function(){
      var that = this;
      let { urls,result } = that.data;
      console.log(result);
      if (result.share_img == ''){
          // 临时图片上传cdn
          wx.uploadFile({            // 需要传到cdn 才可以下载!!!!!
              url       : "https://a.xxxxx.com/xxxxx/Public/upload_more_img",
              filePath  : urls,
              name      : "file",
              success   : res => {
              },
              fail : res => {
              },
              complete: res => {
                var imgdata = JSON.parse(res.data);
                var img = imgdata.data[];
                that.save_share_img(img);
                urls = img;
              }
          })
      } else {
          urls = result.share_img;
      }
      console.log('download---start');
      console.log(urls);
      wx.downloadFile({
          url: urls,
          //url:'https://cdn.xxxxxx.net/avatar_3.png',  // canvas 生成的临时图片不可
          success: function(res) {    // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
              console.log(res)
              if (res.statusCode == ) {
                  wx.saveImageToPhotosAlbum({
                      filePath: res.tempFilePath,
                      success: function(res) {
                          console.log(res);
                          console.log('succ');
                          wx.showToast({
                              title: '保存图片成功!~',
                          });
                          that.setData({
                              mask_btn: ,
                              share_btn: false,
                              canvas_btn:false
                          });
                      },
                      fail: function(res) {
                          console.log(res);
                          console.log('fail');
                          wx.showToast({
                              title: '保存图片失败!~'
                          });
                      },
                      complete:function(res){
                          console.log(res);
                          console.log('complete');
                      }
                  })
              } else {
                  console.log('下载图片发生错误----');
                  wx.showToast({
                      title: '保存图片发生错误!~'
                  });
              }
          },
          fail: function(res){
              console.log('下载图片发生错误');
              console.log(res);
          }
      });
      console.log('download---over');
  },
  previewImg: function() {
    var that = this;
    wx.getSetting({
        success(res) {
            console.log('-------------');
            console.log(res);
            if (!res.authSetting['scope.writePhotosAlbum']) {      // 获取授权!!!!
                wx.authorize({
                    scope:'scope.writePhotosAlbum',
                    success() {
                        that.download();
                        console.log('授权成功')
                    }
                });
            } else {
                that.download();
                console.log('已授权');
            }
        }
    })
小程序下载canvas生成图片的更多相关文章
- 关于微信小程序使用canvas生成图片,内容图片跨域的问题
		
最近有个项目是保存为名片(图片),让用户发送给朋友或朋友圈,找了很多方案都不适用,绞尽脑汁之后还是选了使用canvas,但是用这玩意儿生成图片最大的缺点就是,如果你的内容中有图片,并且这个图片是通过外 ...
 - wx小程序用canvas生成图片流程与注意事项
		
1.需要画入canvas的 图片都需要先缓存到本地 let ps = [] ps.push(that.loadImageFun(this.statusInfo.avatar_url, "he ...
 - 小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像)
		
小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像) 微信小程序生成特色头像,海报等是比较常见的.下面我来介绍下实现该类小程序的过程. 首先选择前端来通过 canvas 绘制.这样比较节 ...
 - 微信小程序-基于canvas画画涂鸦
		
代码地址如下:http://www.demodashi.com/demo/14461.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
 - 微信小程序 在canvas画布上划动,页面禁止滑动
		
要实现微信小程序 在canvas画布上划动,页面禁止滑动,不仅要设置disable-scroll="true",还要要给canvas绑定一个触摸事件才能生效. <canvas ...
 - 关于微信小程序前端Canvas组件教程
		
关于微信小程序前端Canvas组件教程 微信小程序Canvas接口函数  上述为微信小程序Canvas的内部接口,通过熟练使用Canvas,即可画出较为美观的前端页面.下面是使用微信小程序画图的一些 ...
 - 微信小程序利用canvas生成海报分享图片
		
一 . 效果 这是借用女神照生成的分享的海报,图片来自网络. 新增了poster组件和更新图片自适应 二 . 准备 准备两张图片连接,最好是自己开发账号验证的https图片链接. 三 . 实现思路 其 ...
 - 兼容小程序的canvas画图组件jmGraph
		
基于CANVAS的简单画图组件让你用类似于dom的方式,在canvas上画图,感觉会不会很爽. 主页:http://graph.jm47.com/示例:http://graph.jm47.com/ex ...
 - 微信小程序之canvas绘制海报分享到朋友圈
		
绘制canvas内容 首先,需要写一个canvas标签,给canvas-id命名为shareBox <canvas canvas-id="shareBox"></ ...
 
随机推荐
- machine learning(8) -- classification
			
分类预测不能使用linear regression, linear regression算法对于分类预测效果很差,应使用logistic regression算法 Logistic regressti ...
 - 随便写一个c++类
			
为了让代码更贴合实际项目需要,我们分别用xxx.h文件,xxx.cpp文件来包含类的定义,类的声明和类的调用部分,实验平台vs2010 mycoach.h文件 #pragma once #includ ...
 - javascript权威指南第16章 HTML5脚本编程
			
<!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...
 - RabbitMQ的5种模式
			
队列截图,去rabbitMq.com去找学习文档 =========================================================================== ...
 - asp.net文件上传下载组件
			
以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传 ...
 - Linux操作系统常用命令合集——第四篇-文件系统权限操作(5个命令)
			
1.umask [命令作用] 文件或目录创建时的遮罩码 [命令语法] umask [选项] [参数] [常用选项] -p --输出的权限掩码可直接作为指令来执行 -s --以符号方式 ...
 - 「CF319E」Ping-Pong「线段树」「并查集」
			
题意 规定区间\((a,b)\)到区间\((c,d)\)有边当且仅当\(c<a<d\)或\(c<b<d\). 起初区间集合为空.有\(n\)(\(n\leq 10^5\))次操 ...
 - Mac 安装软件时,提示已损坏解决
			
"xxx.app已损坏,打不开.你应该将它移到废纸篓",并非你安装的软件已损坏,而是Mac系统的安全设置问题,因为这些应用都是破解或者汉化的,那么解决方法就是临时改变Mac系统安全 ...
 - FF,NF,BF
			
设计一个可变式分区分配的存储管理方案.并模拟实现分区的分配和回收过程. 对分区的管理法可以是下面三种算法之一: 首次适应算法 循环首次适应算法 最佳适应算法 对于测试样例 : 首地址 大 ...
 - Python数据类型解析(基础篇)
			
Python语言的类型 数字类型 字符串类型 元组类型 列表类型 文件类型 字典类型 1.数字类型 Python有三种数字类型:整数,浮点数,复数 Python中的整 ...