日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小程序服务器七牛云,基于七牛云 API 开发的微信小程序 SDK

發布時間:2024/4/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小程序服务器七牛云,基于七牛云 API 开发的微信小程序 SDK 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

Qiniu-wxapp-SDK 是七牛云在小程序上的實現,網絡功能依賴于微信小程序 API。您可以基于 SDK 方便的在小程序中上傳文件至七牛云。

Qiniu-wxapp-SDK? 為客戶端 SDK,沒有包含 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 地址,參考官方文檔

存儲區域

區域代碼

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"

//? }

// 參考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 來使用。

DEMO

請使用微信web開發者工具打開 demo 文件夾,然后配置 index.js 中的相關參數以使用 demo。

API

var options = {

region: 'East', // 是你注冊bucket的時候選擇的區域的代碼

// ECN, SCN, NCN, NA,分別對應七牛的:華東,華南,華北,北美四個區域

// 詳情可以參見「說明」部分的第一條

domain: 'bzkdlkaf.bkt.clouddn.com', // // bucket 域名,下載資源時用到。如果設置,會在 success callback 的 res 參數加上可以直接使用的 ImageURL 字段。否則需要自己拼接

// 以下方法三選一即可,優先級為:uptoken > uptokenURL > uptokenFunc

uptoken: 'xxxxxxxxUpToken', // 由其他程序生成七牛 uptoken

uptokenURL: 'UpTokenURL.com/uptoken', // 從指定 url 通過 HTTP GET 獲取 uptoken,返回的格式必須是 json 且包含 uptoken 字段,例如: {"uptoken": "0MLvWPnyy..."}

uptokenFunc: function() {

// do something to make a uptoken

return 'zxxxzaqdfUpToken';

}

};

qiniuUploder.init(options);

// 如果使用了 init 方法,則 upload 函數的 options 可以省略。如果沒有 init,upload 中也沒有 options 則會報錯。

// 這里的 options 和 init 中的傳入參數一樣,只會修改傳入的參數

// 上傳之前會檢查 uptoken 是否存在

qiniuUploader.upload(wxappFilePath, [succeedCallback, [failedCallback, [options]]]);

// 其中 wxappFilePath,是通過微信小程序官方 API:wx.chooseImage,在 success callback得到 var filePath = res.tempFilePaths[0];

說明

對于存儲空間的存儲區域,創建存儲空間的時候可以選擇。

當前一共有四個區域可以選擇:[華東,華北,華南,北美],對應著不同的服務器地址

如果你不知道在哪里看當前空間的存儲區域,可以登錄七牛后臺,在這個頁面的右下角查看

對于存儲區域和 options 中 region 代碼可以參考這個表格

SDK 依賴 uptoken,可以直接設置?uptoken? 、通過提供 Ajax 請求地址?uptokenURL?或者通過提供一個能夠返回 uptoken 的函數?uptoken_func?實現。

如果沒用設置過uptoken, uptoken_url 兩個參數中必須有一個被設置

如果提供了多個,其優先級為 uptoken > uptoken_url

其中 uptoken 是直接提供上傳憑證,uptoken_url 是提供了獲取上傳憑證的地址

uptoken : '', // uptoken 是上傳憑證,由其他程序生成

uptoken_url: '/uptoken', ? ? ? ? // Ajax 請求 uptoken 的 Url,強烈建議設置(服務端提供)

如果您想了解更多七牛的上傳策略,建議您仔細閱讀?七牛官方文檔-上傳。 七牛的上傳策略是在后端服務指定的。

如果您想了解更多七牛的圖片處理,建議您仔細閱讀?七牛官方文檔-圖片處理

SDK 示例生成 uptotken 時,指定的?Bucket Name?為公開空間,所以可以公開訪問上傳成功后的資源。若您生成 uptoken 時,指定的?Bucket Name?為私有空間,那您還需要在服務端進行額外的處理才能訪問您上傳的資源。具體參見下載憑證。SDK 數據處理部分功能不適用于私有空間。

常見問題

關于上傳文件名

如果在上傳的時候沒有指定文件 key,會使用 wx.chooesImage 得到的tmp filePath作為文件的 key。例如:tmp_xxxxxxx.jpg

設置取消上傳、暫停上傳:

微信小程序上傳 API 暫時無法取消、暫停上傳操作

限制上傳文件的類型:

使用微信小程序 API 只能選到圖片文件。

如果是小程序內產生的文件,那么正常使用即可。

總結

以上是生活随笔為你收集整理的小程序服务器七牛云,基于七牛云 API 开发的微信小程序 SDK的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。