微信小程序?qū)⒈镜刭Y源上傳到指定服務(wù)器方法
微信小程序?qū)⒈镜刭Y源上傳到指定服務(wù)器方法
將本地資源上傳到開發(fā)者服務(wù)器。如頁面通過 wx.chooseImage 等接口獲取到一個本地資源的臨時文件路徑后,可通過此接口將本地資源上傳到指定服務(wù)器。客戶端發(fā)起一個 HTTPS POST 請求,其中 content-type 為 multipart/form-data 。
OBJECT參數(shù)說明:
urlString是開發(fā)者服務(wù)器 url
filePathString是要上傳文件資源的路徑
nameString是文件對應(yīng)的 key , 開發(fā)者在服務(wù)器端通過這個 key 可以獲取到文件二進(jìn)制內(nèi)容
headerObject否HTTP 請求 Header , header 中不能設(shè)置 Referer
formDataObject否HTTP 請求中其他額外的 form data
successFunction否接口調(diào)用成功的回調(diào)函數(shù)
failFunction否接口調(diào)用失敗的回調(diào)函數(shù)
completeFunction否接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)
success返回參數(shù)說明:
dataString開發(fā)者服務(wù)器返回的數(shù)據(jù)
statusCodeNumberHTTP狀態(tài)碼
示例代碼:
wx.chooseImage({
success: function(res) {
var tempFilePaths = res.tempFilePaths
wx.uploadFile({
url: 'http://example.weixin.qq.com/upload', //僅為示例,非真實的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData:{
'user': 'test'
},
success: function(res){
var data = res.data
//do something
}
})
}
})
Bug & Tip
tip: 最大并發(fā)限制是 10 個
tip: 默認(rèn)超時時間和最大超時時間都是 60s
wx.downloadFile(OBJECT)
下載文件資源到本地??蛻舳酥苯影l(fā)起一個 HTTP GET 請求,返回文件的本地臨時路徑。
OBJECT參數(shù)說明:
urlString是下載資源的 url
headerObject否HTTP 請求 Header
successFunction否下載成功后以 tempFilePath 的形式傳給頁面,res = {tempFilePath: '文件的臨時路徑'}
failFunction否接口調(diào)用失敗的回調(diào)函數(shù)
completeFunction否接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)
注:文件的臨時路徑,在小程序本次啟動期間可以正常使用,如需持久保存,需在主動調(diào)用 wx.saveFile,在小程序下次啟動時才能訪問得到。
示例代碼:
wx.downloadFile({
url: 'http://example.com/audio/123', //僅為示例,并非真實的資源
success: function(res) {
wx.playVoice({
filePath: res.tempFilePath
})
}
})
Bug & Tip
tip: 最大并發(fā)限制是 10 個
tip: 默認(rèn)超時時間和最大超時時間都是 60s
tip: 網(wǎng)絡(luò)請求的 referer 是不可以設(shè)置的,格式固定為 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 為小程序的 appid,{version} 為小程序的版本號,版本號為 0 表示為開發(fā)版。
tip: 6.5.3 以及之前版本的 iOS 微信客戶端 header 設(shè)置無效
第二部分:如何開通一個小商店