美文网首页微信小程序开发
小程序接入七牛云不完全指南

小程序接入七牛云不完全指南

作者: 懒虫柳橙汁 | 来源:发表于2017-01-15 23:57 被阅读0次

    TL;DR

    SDK 连接在这
    https://github.com/gpake/qiniu-wxapp-sdk

    正文


    小程序这么火,你一定也会看一看。但是之前一直在用的七牛怎么接入小程序?

    来不及解释了快上车!

    基础准备

    • 一个可以接入小程序的公众号(如果不需要上线不用管这个)
    • 注册好的七牛空间
    • 七牛微信小程序SDK

    如果你还不了解小程序,别着急,不妨先看看微信小程序文档

    七牛不会用的看这里

    如果小程序不需要上线请忽略这个设置

    根据你创建的七牛存储空间,把对应的 https 上传地址添加到小程序的访问白名单中:

    1,登录 微信公众平台,前往 设置 - 开发设置,点击 服务器配置 下的「修改」链接。
    2,修改 uploadFile 域名(比如华北 https 上传地址为:https://up-z1.qbox.com,地址不清楚请参见 https地址附录
    3,如果需要使用 wx.downloadFile 下载文件(图片不需要),则还需要一同设置 downloadFile 域名,为你的 bucket 下载地址
    4,保存即可

    字段名 内容
    request 域名 https://yourServce.com
    uploadFile 域名 https://up.qbox.me
    downloadFile 域名 https://baldkf.bkt.clouddn.com

    注意!!目前微信限制每月只能修改三次域名白名单。

    接入指南

    接下来就很容易了,你只需要把 七牛微信小程序SDK项目 SDK目录下的 quniuUploader.js 拖到小程序项目里。
    生产环境请使用qiniuUploader-min.js

    然后:

    const qiniuUploader = require("../../../utils/qiniuUploader"); // 路径要自己搞定
    
    Page({
      didPressChooseImage: function() {
        var that = this;
        // 选择图片
        wx.chooseImage({
          count: 1,
          success: function (res) {
            var filePath = res.tempFilePaths[0];
            // 交给七牛上传
            qiniuUploader.upload(filePath, (res) => {
              // 每个文件上传成功后,处理相关的事情
              // 其中 info 是文件上传成功后,服务端返回的json,形式如
              // {
              //    "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
              //    "key": "gogopher.jpg"
              //  }
              // 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html
              that.setData({
                'imageURL': res.imageURL,
              });
            }, (error) => {
              console.log('error: ' + error);
            }, {
              uploadURL: 'https://up.qbox.me',
              domain: 'bzkdlkaf.bkt.clouddn.com', // // bucket 域名,下载资源时用到。如果设置,会在 success callback 的 res 参数加上可以直接使用的 ImageURL 字段。否则需要自己拼接
              key: 'customFileName.jpg', // 自定义文件 key。如果不设置,默认为使用微信小程序 API 的临时文件名
              // 以下方法三选一即可,优先级为:uptoken > uptokenURL > uptokenFunc
              uptoken: 'xxxxxxxxUpToken', // 由其他程序生成七牛 uptoken
              uptokenURL: 'UpTokenURL.com/uptoken', // 从指定 url 通过 HTTP GET 获取 uptoken,返回的格式必须是 json 且包含 uptoken 字段,例如: {"uptoken": "0MLvWPnyy..."}
              uptokenFunc: function() {return 'zxxxzaqdf';}
            });
          }
        })
      }
    });
    
    // domain 为七牛空间(bucket)对应的域名,选择某个空间后,可通过"空间设置->基本设置->域名设置"查看获取
    // key:通过微信小程序 Api 获得的图片文件的 URL 已经是处理过的临时地址,可以作为唯一文件 key 来使用。
    

    然后?没然后了,开心的玩耍吧~

    注意事项

    更多问题,不如看看 SDK 文档 和里面的 Demo吧~

    小程序HTTPS问题

    有朋友注意到了七牛的上传地址不是小程序要求的 https,而且强行写 https 会报错。

    其实七牛文档里已经写了:华北区文档

    UP HTTP(上传):http://up-z1.qiniu.com(源站入口)、http://upload-z1.qiniu.com(CDN 透传入口);
    UP HTTPS(上传):https://up-z1.qbox.me。
    

    相关文章

      网友评论

        本文标题:小程序接入七牛云不完全指南

        本文链接:https://www.haomeiwen.com/subject/tmesbttx.html