基于七牛云 API 开发的微信小程序 SDK,七牛云官网

来源:未知 浏览 158次 时间 2021-06-16 00:15

概述

Qiniu-wxapp-SDK 是七牛云在小程序上的实现网络功能依赖于微信小程序 API。您可以基于 SDK 方便的在小程序中上传文件至七牛云。

Qiniu-wxapp-SDK  为客户端 SDK没有包含 token 生成实现SEO关键词没有包含 token 生成实现为了安全token 建议通过网络从服务端获取具体生成代码可以参考以下服务端 SDK 的文档。SDK Demo中暂时没有包含这部分。

Java

PHP

Python

Ruby

Go

Node.js

C#

C/C++

 

 

功能简介

上传

其他功能在开发中敬请期待。准备

从 github 上下载qiniuUploader.js导入小程序工程。

在使用 SDK 之前您必须先注册一个七牛云帐号并登录控制台获取一对有效的 AccessKey 和 SecretKey您可以阅读如何接入七牛 和 安全机制 以进一步了解如何正确使用和管理密钥 。

SDK 依赖服务端颁发 uptoken可以通过以下二种方式实现:

  利用七牛服务端 SDK 构建后端服务(建议的方式)

  利用七牛底层 API 构建服务详见七牛上传策略和上传凭证

  您需要了解您的七牛存储空间设置在那个区域比如华东华南等参见区域设置

后端服务应提供一个 URL 地址供小程序请求该地址后获得 uptoken。请求成功后服务端应返回如下格式的 json(至少包含 uptoken 字段):

{ "uptoken": "0MLvWPnyya1WtPnXFy9KLyGHyFPNdZceomL..." }

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

登录 微信公众平台前往 设置 - 开发设置点击 服务器配置 下的「修改」链接。

修改 uploadFile 域名(比如华北 https 上传地址为:https://up-z1.qbox.com地址不清楚请参见https地址附录)

如果需要下载文件则还需要一同设置 downloadFile 域名为你的 bucket 下载地址

保存即可

字段名 内容
request 域名   https://yourServce.com  
uploadFile 域名   https://up.qbox.me (根据存储区域填写)  
downloadFile 域名   https://baldkf.bkt.clouddn.com  

存储区域对应 HTTPS 地址seo网站优化怎么做为你的 bucket 下载地址

保存即可

字段名 内容
request 域名   https://yourServce.com  
uploadFile 域名   https://up.qbox.me (根据存储区域填写)  
downloadFile 域名   https://baldkf.bkt.clouddn.com  

存储区域对应 HTTPS 地址参考官方文档

存储区域 区域代码 HTTPS 地址
华东   ECN   https://up.qbox.me  
华北   NCN   https://up-z1.qbox.me  
华南   SCN   https://up-z2.qbox.me  
北美   NA   https://up-na0.qbox.me  

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

暂时支持一种安装方式

通过 Github 上的 gpake/qiniu-wxapp-sdk 仓库获取

直接克隆仓库

git clone https://github.com/gpake/qiniu-wxapp-sdk.git

qiniuUploader.js 文件在 sdk 目录。使用
上传功能

在需要使用的页面引用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" //  } // 参考 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 来使用。 DEMO

请使用微信web开发者工具打开 demo 文件夹然后配置 index.js 中的相关参数以使用 demo。
API

标签: https七牛上传uptoken