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