微信小程序-騰訊云Cos上傳文件

????????之前有做過iOS的Cos上傳文件,小程序的是第一次做.在網(wǎng)上找了好多資料素材.JS的有很多可以參考,但是關(guān)于小程序這邊比較少.正好我也做完了,就拿出來分享一下.

? ? ? ? 騰訊自己在github上有關(guān)于小程序Cos的使用說明.

????????附上鏈接:https://github.com/tencentyun/cos-wx-sdk-v5.

? ? ? ? 具體的實(shí)現(xiàn)方法很簡單,首先要去上面鏈接里下載項(xiàng)目,從demo/lib中找到cos-wx-sdk-v5.js,拖入自己的項(xiàng)目中.如果之前沒有用過cos服務(wù)的,要去騰訊云的官方注冊(cè),創(chuàng)建并且獲取一些值.這些上面鏈接里寫的很清楚,按步驟做就好了.

? ? ? ? 前期準(zhǔn)備都做好了之后,就是寫代碼了.下面是github上騰訊官方的代碼:


小程序cos上傳

下面的方法適合調(diào)試使用(將SecretId和SecretKey寫本地),大家可以參考,代碼如下:

// 騰訊云上傳操作

? // 開始上傳

? startUploadFile: function (mediaType, filePath, callback) {

? ? wx.showLoading({

? ? ? title: '上傳中...',

? ? })

? ? var Bucket = '你自己創(chuàng)建的Bucket';

? ? var Region = '你自己的Region';

? ? console.log(Bucket, Region);

? ? var that = this;

? ? var cos = new COS({

? ? ? getAuthorization: function (options, callback) {

? ? ? ? // 調(diào)試方式

? ? ? ? var authorization = COS.getAuthorization({

? ? ? ? ? SecretId: '你自己的SecretId',

? ? ? ? ? SecretKey: '你自己的SecretKey',

? ? ? ? ? ? Method: options.Method,

? ? ? ? ? ? Key: options.Key

? ? ? ? ? });

? ? ? ? ? callback(authorization);

? ? ? }

? ? });

? ? // 生成上傳文件名

? ? var Key = filePath.substr(filePath.lastIndexOf('/') + 1); // 這里指定上傳的文件名? ? ? ?

? ? var dateObj = new Date();? ? ? ?

? ? var timestamp = dateObj.getTime();? ? ? ?

? ? var nowDate = dateObj.toLocaleDateString();? ? ? ?

? ? var formatDate = nowDate.replace(/\//g,"-");? // 格式斜杠日期? ? ? ?

? ? console.log(formatDate);? ? ? ?

? ? var filename = formatDate + '/' + timestamp+Key;?

? ? // 上傳方法

? ? cos.postObject({

? ? ? Bucket: Bucket,

? ? ? Region: Region,

? ? ? Key: filename,

? ? ? FilePath: filePath,

? ? ? onProgress: function (info) {

? ? ? }

? ? }, function (err, data) {

? ? ? wx.hideLoading();

? ? ? console.log('err'+err);

? ? ? console.log(JSON.stringify(data));

? ? ? if (err) {

? ? ? ? callback(false); // 上傳失敗的callback

? ? ? }

? ? ? if (data) {

? ? ? ? callback(true, mediaData); // 上傳成功的callback

? ? ? }

? ? });

? },

? 真正項(xiàng)目中的上傳方法,區(qū)別在authorization的創(chuàng)建方法(使用臨時(shí)簽名).代碼如下:

? ?var getAuthorization = function (options, callback) {

? ?// 后端通過獲取臨時(shí)密鑰給到前端导披,前端計(jì)算簽名

? ? ? that.fetchCosTempKeyInfo((isSuccess,data)=>{

? ? ? ? if (isSuccess) {

? ? ? ? ? if (data) {

? ? ? ? ? ? callback({

? ? ? ? ? ? ? TmpSecretId: data.tmpSecretId,

? ? ? ? ? ? ? TmpSecretKey: data.tmpSecretKey,

? ? ? ? ? ? ? XCosSecurityToken: data.sessionToken,

? ? ? ? ? ? ? ExpiredTime: data.expiredTime,

? ? ? ? ? ? });

? ? ? ? ? } else {

? ? ? ? ? ? wx.hideLoading();

? ? ? ? ? ? app.showToast('獲取上傳信息失敗!');

? ? ? ? ? ? return;

? ? ? ? ? }

? ? ? ? } else {

? ? ? ? ? wx.hideLoading();

? ? ? ? ? app.showToast('獲取上傳信息失敗!');

? ? ? ? ? return;

? ? ? ? }

? ? ? })

? ? }

? ? var cos = new COS({

? ? ? getAuthorization: getAuthorization,

? ? });

// 獲取臨時(shí)簽名信息

? fetchCosTempKeyInfo:function(callback) {

? ? ?var that = this;

? ? //發(fā)起網(wǎng)絡(luò)請(qǐng)求獲取臨時(shí)簽名信息

????//如果獲取成功

????callback(true,result.data);

????// 如果失敗

????callback(false, error);

? },

? ? 謝謝大家!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末威创,一起剝皮案震驚了整個(gè)濱河市拂到,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖氨肌,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件开泽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡口四,警方通過查閱死者的電腦和手機(jī)孵运,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蔓彩,“玉大人治笨,你說我怎么就攤上這事〕嘟溃” “怎么了旷赖?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長更卒。 經(jīng)常有香客問我等孵,道長,這世上最難降的妖魔是什么逞壁? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任流济,我火速辦了婚禮,結(jié)果婚禮上腌闯,老公的妹妹穿的比我還像新娘绳瘟。我一直安慰自己,他們只是感情好姿骏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布糖声。 她就那樣靜靜地躺著,像睡著了一般分瘦。 火紅的嫁衣襯著肌膚如雪蘸泻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天嘲玫,我揣著相機(jī)與錄音悦施,去河邊找鬼。 笑死去团,一個(gè)胖子當(dāng)著我的面吹牛抡诞,可吹牛的內(nèi)容都是我干的穷蛹。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼昼汗,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼肴熏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起顷窒,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤蛙吏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后鞋吉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鸦做,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年坯辩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了馁龟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡漆魔,死狀恐怖坷檩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情改抡,我是刑警寧澤矢炼,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站阿纤,受9級(jí)特大地震影響句灌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜欠拾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一胰锌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧藐窄,春花似錦资昧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至刹枉,卻和暖如春叽唱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背微宝。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工棺亭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蟋软。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓侦铜,卻偏偏與公主長得像专甩,于是被迫代替她去往敵國和親钟鸵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钉稍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

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

  • 做學(xué)問如作戰(zhàn),須攻堅(jiān)挫銳棺耍,占住要塞贡未。 一篇讀下來,真感覺自己被打通了任督二脈蒙袍,關(guān)于讀書俊卤,自己真的是初學(xué)水平,完全按...
    飛鳥逐溪閱讀 606評(píng)論 0 2
  • 前幾天搗鼓了一下分割線害幅,今天來看看RecyclerView的交互吧消恍,RecyclerView的交互離不開ItemT...
    Archer_Coder閱讀 522評(píng)論 0 1
  • 生命陪伴心語系統(tǒng): (當(dāng)下)此刻就是支持我成長的最大機(jī)會(huì) (過程)我看見了我的情緒和想法,這不過是情緒和想法而已以现,...
    陽光中的晨薇閱讀 167評(píng)論 0 0
  • 有邏輯是一項(xiàng)很重要的技能 有一天正趕上保研生的面試狠怨,在面試結(jié)束之后,跟老師做實(shí)驗(yàn)的時(shí)候邑遏,老師突然問我佣赖,對(duì)保研生有什...
    有聊星人_幾人歸閱讀 133評(píng)論 0 0