微信小程序將本地資源上傳到指定服務器方法
微信小程序將本地資源上傳到指定服務器方法
將本地資源上傳到開發(fā)者服務器。如頁面通過 wx.chooseImage 等接口獲取到一個本地資源的臨時文件路徑后,可通過此接口將本地資源上傳到指定服務器。客戶端發(fā)起一個 HTTPS POST 請求,其中 content-type 為 multipart/form-data 。
OBJECT參數說明:
urlString是開發(fā)者服務器 url
filePathString是要上傳文件資源的路徑
nameString是文件對應的 key , 開發(fā)者在服務器端通過這個 key 可以獲取到文件二進制內容
headerObject否HTTP 請求 Header , header 中不能設置 Referer
formDataObject否HTTP 請求中其他額外的 form data
successFunction否接口調用成功的回調函數
failFunction否接口調用失敗的回調函數
completeFunction否接口調用結束的回調函數(調用成功、失敗都會執(zhí)行)
success返回參數說明:
dataString開發(fā)者服務器返回的數據
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: 默認超時時間和最大超時時間都是 60s
wx.downloadFile(OBJECT)
下載文件資源到本地。客戶端直接發(fā)起一個 HTTP GET 請求,返回文件的本地臨時路徑。
OBJECT參數說明:
urlString是下載資源的 url
headerObject否HTTP 請求 Header
successFunction否下載成功后以 tempFilePath 的形式傳給頁面,res = {tempFilePath: '文件的臨時路徑'}
failFunction否接口調用失敗的回調函數
completeFunction否接口調用結束的回調函數(調用成功、失敗都會執(zhí)行)
注:文件的臨時路徑,在小程序本次啟動期間可以正常使用,如需持久保存,需在主動調用 wx.saveFile,在小程序下次啟動時才能訪問得到。
示例代碼:
wx.downloadFile({
url: 'http://example.com/audio/123', //僅為示例,并非真實的資源
success: function(res) {
wx.playVoice({
filePath: res.tempFilePath
})
}
})
Bug & Tip
tip: 最大并發(fā)限制是 10 個
tip: 默認超時時間和最大超時時間都是 60s
tip: 網絡請求的 referer 是不可以設置的,格式固定為 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 為小程序的 appid,{version} 為小程序的版本號,版本號為 0 表示為開發(fā)版。
tip: 6.5.3 以及之前版本的 iOS 微信客戶端 header 設置無效
第二部分:如何開通一個小商店