欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序 wx.uploadFile無法上傳解決辦法

 更新時間:2016年12月14日 14:53:26   投稿:lqh  
這篇文章主要介紹了微信小程序 wx.uploadFile無法上傳解決辦法的相關(guān)資料,需要的朋友可以參考下

微信小程序 wx.uploadFile無法上傳解決辦法

微信安卓客戶端無法使用wx.uploadFile上傳文件的問題有不少開發(fā)者都遇到。

我也因為一直不能解決,硬著頭皮提交審核最后被拒(抱著審核者最好用iOS檢測的心態(tài),不巧審核我應(yīng)用的用的是安卓),才嘗試使用第三方的手段解決。

最終我是用了七牛第三方存儲的方式,將文件直接上傳至七牛的儲存的空間上再回調(diào)使用。

當(dāng)然像又拍云,萬象優(yōu)圖這些第三方存儲源都可以采用這種思路。

首先是將七牛的https上傳域名放進小程序的域名名單中。

這里我使用的是七牛華東區(qū)的域名https://up.qbox.me。

微信小程序wx.uploadFile采用的是multipart/form-data方式上傳,即表單上傳。

根據(jù)七牛的官方文檔說明 http://developer.qiniu.com/docs/ ... up/form-upload.html

主要需要的就是file(文件本身)和token(上傳憑證)。

然后在服務(wù)端部署獲取上傳憑證的業(yè)務(wù)代碼,通過wx.request請求獲取token。

   var that = this;

   wx.request({

    url: 'https://xxx/token',

    method: 'POST',

    data: {},

    header: {

     'content-type':'application/x-www-form-urlencoded'

    },

    success: function(res) {

      that.token = res.data; //默認返回一個token,賦值給已經(jīng)有的token屬性。這里只是示例,具體根據(jù)需求可自行設(shè)定。

    },

    fail:function (res) {

     console.log(res)

    }

   })

 具體如何部署七牛憑證代碼,可參考http://78re52.com1.z0.glb.cloudd ... %9C%8D%E5%8A%A1.pdf

獲得憑證后就可以通過wx.uploadFile上傳了。具體代碼為:

 var that = this;

  var key = Math.random().toString(36).substr(2); //生成一個隨機字符串的文件名

  wx.uploadFile({

   url: 'https://up.qbox.me',

   filePath: flie,

   name: 'file',

   formData:{

    'token': that.token,//剛剛獲取的上傳憑證

    'key': key//這里是為文件設(shè)置上傳后的文件名

   },

   success: function(r){

    var data = r.data;//七牛會返回一個包含hash值和key的JSON字符串

    if(typeof data==='string')data = JSON.parse(data.trim());//解壓縮

    if(data.key){

     ... //這里就可以直接使用data.key,文件已經(jīng)上傳成功可以使用了。如果是圖片也可以直接通過image調(diào)用。

    }

   },

   fail:function (res) {

    console.log(res)

   }

  })

最終采用這種方式解決了安卓無法上傳文件的問題,當(dāng)然上傳自身服務(wù)器的問題還是有待解決。

不過對于急需解決方案的開發(fā)者還是提供了一個可行的方案。

現(xiàn)在利用第三方圖源或存儲源是一個普遍的方案,很多存儲源例如七牛,又拍云,萬象優(yōu)圖都提供了免費的空間供開發(fā)者使用。

建議大家也多做這方面的架構(gòu)和嘗試。

 感謝閱讀,希望能幫助到大家,謝謝大家對本站 的支持!

相關(guān)文章

  • Lambda表達式原理及示例

    Lambda表達式原理及示例

    這篇文章主要介紹了Java8中的新特性Lambda表達式,文中的示例可以幫助大家快速了解該特性,感興趣的小伙伴可以一起學(xué)習(xí)
    2021-08-08
  • 微信小程序后臺解密用戶數(shù)據(jù)實例詳解

    微信小程序后臺解密用戶數(shù)據(jù)實例詳解

    這篇文章主要介紹了 微信小程序后臺解密用戶數(shù)據(jù)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 微信小程序 animation API詳解及實例代碼

    微信小程序 animation API詳解及實例代碼

    這篇文章主要介紹了 微信小程序 animation API詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 使用PreloadJS加載圖片資源的基礎(chǔ)方法詳解

    使用PreloadJS加載圖片資源的基礎(chǔ)方法詳解

    PreloadJS是一個用來管理和協(xié)調(diào)相關(guān)資源加載的類庫,它可以方便的幫助你預(yù)先加載相關(guān)資源簡單點兒說就是一個加載插件,它可以做成頁面異步加載且頂部會有進度條動畫
    2020-02-02
  • JS對象創(chuàng)建與繼承的匯總梳理

    JS對象創(chuàng)建與繼承的匯總梳理

    這篇文章主要為大家介紹了JS對象創(chuàng)建與繼承的匯總梳理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 微信小程序富文本渲染引擎的詳解

    微信小程序富文本渲染引擎的詳解

    這篇文章主要介紹了微信小程序富文本渲染引擎的詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • 使用javascript解析二維碼的三種方式

    使用javascript解析二維碼的三種方式

    這篇文章主要給大家分享使用javascript解析二維碼的三種方式,二維碼就是將我們能看懂的文字語言,以機器語言的形式存儲了起來。其中黑色小方塊代表的是1,白色小方塊代表的是0,黑白相間的圖案其實就是一串編碼,掃碼的過程就是翻譯這些編碼的過程,需要的朋友可以參考一下
    2021-11-11
  • Array.reduce使用原理示例詳解

    Array.reduce使用原理示例詳解

    這篇文章主要為大家介紹了Array.reduce使用原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • requestAnimationFrame使用示例詳解

    requestAnimationFrame使用示例詳解

    這篇文章主要為大家介紹了requestAnimationFrame使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • JavaScript 實現(xiàn)點擊關(guān)閉全屏示例詳解

    JavaScript 實現(xiàn)點擊關(guān)閉全屏示例詳解

    這篇文章主要為大家介紹了JavaScript 實現(xiàn)點擊關(guān)閉全屏示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論