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

TL;DR

SDK 連接在這
https://github.com/gpake/qiniu-wxapp-sdk

正文


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

來不及解釋了快上車!

基礎(chǔ)準(zhǔn)備

  • 一個可以接入小程序的公眾號(如果不需要上線不用管這個)
  • 注冊好的七牛空間
  • 七牛微信小程序SDK

如果你還不了解小程序,別著急,不妨先看看微信小程序文檔

七牛不會用的看這里

如果小程序不需要上線請忽略這個設(shè)置

根據(jù)你創(chuàng)建的七牛存儲空間,把對應(yīng)的 https 上傳地址添加到小程序的訪問白名單中:

1,登錄 微信公眾平臺,前往 設(shè)置 - 開發(fā)設(shè)置,點擊 服務(wù)器配置 下的「修改」鏈接。
2,修改 uploadFile 域名(比如華北 https 上傳地址為:https://up-z1.qbox.com,地址不清楚請參見 https地址附錄
3,如果需要使用 wx.downloadFile 下載文件(圖片不需要),則還需要一同設(shè)置 downloadFile 域名,為你的 bucket 下載地址
4,保存即可

字段名 內(nèi)容
request 域名 https://yourServce.com
uploadFile 域名 https://up.qbox.me
downloadFile 域名 https://baldkf.bkt.clouddn.com

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

接入指南

接下來就很容易了,你只需要把 七牛微信小程序SDK項目 SDK目錄下的 quniuUploader.js 拖到小程序項目里。
生產(chǎn)環(huán)境請使用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) => {
          // 每個文件上傳成功后,處理相關(guān)的事情
          // 其中 info 是文件上傳成功后,服務(wù)端返回的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 域名,下載資源時用到。如果設(shè)置,會在 success callback 的 res 參數(shù)加上可以直接使用的 ImageURL 字段。否則需要自己拼接
          key: 'customFileName.jpg', // 自定義文件 key。如果不設(shè)置,默認(rèn)為使用微信小程序 API 的臨時文件名
          // 以下方法三選一即可,優(yōu)先級為:uptoken > uptokenURL > uptokenFunc
          uptoken: 'xxxxxxxxUpToken', // 由其他程序生成七牛 uptoken
          uptokenURL: 'UpTokenURL.com/uptoken', // 從指定 url 通過 HTTP GET 獲取 uptoken,返回的格式必須是 json 且包含 uptoken 字段,例如: {"uptoken": "0MLvWPnyy..."}
          uptokenFunc: function() {return 'zxxxzaqdf';}
        });
      }
    })
  }
});

// domain 為七牛空間(bucket)對應(yīng)的域名,選擇某個空間后,可通過"空間設(shè)置->基本設(shè)置->域名設(shè)置"查看獲取
// key:通過微信小程序 Api 獲得的圖片文件的 URL 已經(jīng)是處理過的臨時地址,可以作為唯一文件 key 來使用。

然后?沒然后了,開心的玩耍吧~

注意事項

更多問題,不如看看 SDK 文檔 和里面的 Demo吧~

小程序HTTPS問題

有朋友注意到了七牛的上傳地址不是小程序要求的 https,而且強行寫 https 會報錯。

其實七牛文檔里已經(jīng)寫了:華北區(qū)文檔

UP HTTP(上傳):http://up-z1.qiniu.com(源站入口)、http://upload-z1.qiniu.com(CDN 透傳入口);
UP HTTPS(上傳):https://up-z1.qbox.me。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容