W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
將本地資源上傳到開(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ō)明:
參數(shù) | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
url | String | 是 | 開(kāi)發(fā)者服務(wù)器url |
filePath | String | 是 | 要上傳文件資源的路徑 |
name | String | 是 | 文件對(duì)應(yīng)的key , 開(kāi)發(fā)者在服務(wù)器端通過(guò)這個(gè)key可以獲取到文件二進(jìn)制內(nèi)容 |
header | Object | 否 | HTTP 請(qǐng)求 Header,header中不能設(shè)置Referer |
formData | Object | 否 | HTTP 請(qǐng)求中其他額外的form data |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
success返回參數(shù)說(shuō)明:
參數(shù) | 類(lèi)型 | 說(shuō)明 |
---|---|---|
data | String | 開(kāi)發(fā)者服務(wù)器返回的數(shù)據(jù) |
statusCode | Number | HTTP狀態(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
} }) } })
返回值:
基礎(chǔ)庫(kù) 1.4.0 開(kāi)始支持,低版本需做兼容處理。
返回一個(gè)uploadTask
對(duì)象,通過(guò)uploadTask
,可監(jiān)聽(tīng)上傳進(jìn)度變化事件,以及取消上傳任務(wù)。
基礎(chǔ)庫(kù) 1.4.0 開(kāi)始支持,低版本需做兼容處理。
一個(gè)可以監(jiān)聽(tīng)上傳進(jìn)度變化事件,以及取消上傳任務(wù)的對(duì)象
基礎(chǔ)庫(kù) 1.4.0 開(kāi)始支持,低版本需做兼容處理。
中斷上傳任務(wù)
基礎(chǔ)庫(kù) 2.1.0 開(kāi)始支持,低版本需做兼容處理。
取消監(jiān)聽(tīng) HTTP Response Header 事件
HTTP Response Header 事件的回調(diào)函數(shù)
基礎(chǔ)庫(kù) 2.1.0 開(kāi)始支持,低版本需做兼容處理。
取消監(jiān)聽(tīng)上傳進(jìn)度變化事件
上傳進(jìn)度變化事件的回調(diào)函數(shù)
基礎(chǔ)庫(kù) 2.1.0 開(kāi)始支持,低版本需做兼容處理。
監(jiān)聽(tīng) HTTP Response Header 事件。會(huì)比請(qǐng)求完成事件更早
HTTP Response Header 事件的回調(diào)函數(shù)
屬性 | 類(lèi)型 | 說(shuō)明 |
---|---|---|
header | Object | 開(kāi)發(fā)者服務(wù)器返回的 HTTP Response Header |
基礎(chǔ)庫(kù) 1.4.0 開(kāi)始支持,低版本需做兼容處理。
監(jiān)聽(tīng)上傳進(jìn)度變化事件
上傳進(jìn)度變化事件的回調(diào)函數(shù)
屬性 | 類(lèi)型 | 說(shuō)明 |
---|---|---|
progress | number | 上傳進(jìn)度百分比 |
totalBytesSent | number | 已經(jīng)上傳的數(shù)據(jù)長(zhǎng)度,單位 Bytes |
totalBytesExpectedToSend | number | 預(yù)期需要上傳的數(shù)據(jù)總長(zhǎng)度,單位 Bytes |
示例代碼:
const uploadTask = 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
}
})
uploadTask.onProgressUpdate((res) => {
console.log('上傳進(jìn)度', res.progress)
console.log('已經(jīng)上傳的數(shù)據(jù)長(zhǎng)度', res.totalBytesSent)
console.log('預(yù)期需要上傳的數(shù)據(jù)總長(zhǎng)度', res.totalBytesExpectedToSend)
})
uploadTask.abort() // 取消上傳任務(wù)
tip
: 最大并發(fā)限制是 10 個(gè)tip
: 默認(rèn)超時(shí)時(shí)間和最大超時(shí)時(shí)間都是 60s下載文件資源到本地。客戶端直接發(fā)起一個(gè)HTTP GET請(qǐng)求,返回文件的本地臨時(shí)路徑。
屬性 | 類(lèi)型 | 默認(rèn)值 | 必填 | 說(shuō)明 | 最低版本 |
---|---|---|---|---|---|
url | string | 是 | 下載資源的 url | ||
header | Object | 否 | HTTP 請(qǐng)求的 Header,Header 中不能設(shè)置 Referer | ||
timeout | number | 否 | 超時(shí)時(shí)間,單位為毫秒 | 2.10.0 | |
filePath | string | 否 | 指定文件下載后存儲(chǔ)的路徑 (本地路徑) | 1.8.0 | |
success | function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) | ||
fail | function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) | ||
complete | function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
屬性 | 類(lèi)型 | 說(shuō)明 | 最低版本 |
---|---|---|---|
tempFilePath | string | 臨時(shí)文件路徑 (本地路徑)。沒(méi)傳入 filePath 指定文件存儲(chǔ)路徑時(shí)會(huì)返回,下載后的文件會(huì)存儲(chǔ)到一個(gè)臨時(shí)文件 | |
filePath | string | 用戶文件路徑 (本地路徑)。傳入 filePath 時(shí)會(huì)返回,跟傳入的 filePath 一致 | |
statusCode | number | 開(kāi)發(fā)者服務(wù)器返回的 HTTP 狀態(tài)碼 | |
profile | Object | 網(wǎng)絡(luò)請(qǐng)求過(guò)程中一些調(diào)試信息 | 2.10.4 |
res.profile 的結(jié)構(gòu)
屬性 | 類(lèi)型 | 說(shuō)明 |
---|---|---|
redirectStart | number | 第一個(gè) HTTP 重定向發(fā)生時(shí)的時(shí)間。有跳轉(zhuǎn)且是同域名內(nèi)的重定向才算,否則值為 0 |
redirectEnd | number | 最后一個(gè) HTTP 重定向完成時(shí)的時(shí)間。有跳轉(zhuǎn)且是同域名內(nèi)部的重定向才算,否則值為 0 |
fetchStart | number | 組件準(zhǔn)備好使用 HTTP 請(qǐng)求抓取資源的時(shí)間,這發(fā)生在檢查本地緩存之前 |
domainLookupStart | number | DNS 域名查詢開(kāi)始的時(shí)間,如果使用了本地緩存(即無(wú) DNS 查詢)或持久連接,則與 fetchStart 值相等 |
domainLookupEnd | number | DNS 域名查詢完成的時(shí)間,如果使用了本地緩存(即無(wú) DNS 查詢)或持久連接,則與 fetchStart 值相等 |
connectStart | number | HTTP(TCP) 開(kāi)始建立連接的時(shí)間,如果是持久連接,則與 fetchStart 值相等。注意如果在傳輸層發(fā)生了錯(cuò)誤且重新建立連接,則這里顯示的是新建立的連接開(kāi)始的時(shí)間 |
connectEnd | number | HTTP(TCP) 完成建立連接的時(shí)間(完成握手),如果是持久連接,則與 fetchStart 值相等。注意如果在傳輸層發(fā)生了錯(cuò)誤且重新建立連接,則這里顯示的是新建立的連接完成的時(shí)間。注意這里握手結(jié)束,包括安全連接建立完成、SOCKS 授權(quán)通過(guò) |
SSLconnectionStart | number | SSL建立連接的時(shí)間,如果不是安全連接,則值為 0 |
SSLconnectionEnd | number | SSL建立完成的時(shí)間,如果不是安全連接,則值為 0 |
requestStart | number | HTTP請(qǐng)求讀取真實(shí)文檔開(kāi)始的時(shí)間(完成建立連接),包括從本地讀取緩存。連接錯(cuò)誤重連時(shí),這里顯示的也是新建立連接的時(shí)間 |
requestEnd | number | HTTP請(qǐng)求讀取真實(shí)文檔結(jié)束的時(shí)間 |
responseStart | number | HTTP 開(kāi)始接收響應(yīng)的時(shí)間(獲取到第一個(gè)字節(jié)),包括從本地讀取緩存 |
responseEnd | number | HTTP 響應(yīng)全部接收完成的時(shí)間(獲取到最后一個(gè)字節(jié)),包括從本地讀取緩存 |
rtt | number | 當(dāng)次請(qǐng)求連接過(guò)程中實(shí)時(shí) rtt |
estimate_nettype | string | 評(píng)估的網(wǎng)絡(luò)狀態(tài) slow 2g/2g/3g/4g |
httpRttEstimate | number | 協(xié)議層根據(jù)多個(gè)請(qǐng)求評(píng)估當(dāng)前網(wǎng)絡(luò)的 rtt(僅供參考) |
transportRttEstimate | number | 傳輸層根據(jù)多個(gè)請(qǐng)求評(píng)估的當(dāng)前網(wǎng)絡(luò)的 rtt(僅供參考) |
downstreamThroughputKbpsEstimate | number | 評(píng)估當(dāng)前網(wǎng)絡(luò)下載的kbps |
throughputKbps | number | 當(dāng)前網(wǎng)絡(luò)的實(shí)際下載kbps |
peerIP | string | 當(dāng)前請(qǐng)求的IP |
port | number | 當(dāng)前請(qǐng)求的端口 |
socketReused | boolean | 是否復(fù)用連接 |
sendBytesCount | number | 發(fā)送的字節(jié)數(shù) |
receivedBytedCount | number | 收到字節(jié)數(shù) |
基礎(chǔ)庫(kù) 1.4.0 開(kāi)始支持,低版本需做兼容處理。
一個(gè)可以監(jiān)聽(tīng)下載進(jìn)度變化事件和取消下載的對(duì)象
wx.downloadFile({
url: 'https://example.com/audio/123', //僅為示例,并非真實(shí)的資源
success (res) {
// 只要服務(wù)器有響應(yīng)數(shù)據(jù),就會(huì)把響應(yīng)內(nèi)容寫(xiě)入文件并進(jìn)入 success 回調(diào),業(yè)務(wù)需要自行判斷是否下載到了想要的內(nèi)容
if (res.statusCode === 200) {
wx.playVoice({
filePath: res.tempFilePath
})
}
}
})
基礎(chǔ)庫(kù) 1.4.0 開(kāi)始支持,低版本需做兼容處理。
一個(gè)可以監(jiān)聽(tīng)下載進(jìn)度變化事件,以及取消下載任務(wù)的對(duì)象
基礎(chǔ)庫(kù) 1.4.0 開(kāi)始支持,低版本需做兼容處理。
中斷下載任務(wù)
基礎(chǔ)庫(kù) 2.1.0 開(kāi)始支持,低版本需做兼容處理。
取消監(jiān)聽(tīng) HTTP Response Header 事件
HTTP Response Header 事件的回調(diào)函數(shù)
基礎(chǔ)庫(kù) 2.1.0 開(kāi)始支持,低版本需做兼容處理。
取消監(jiān)聽(tīng)下載進(jìn)度變化事件
下載進(jìn)度變化事件的回調(diào)函數(shù)
基礎(chǔ)庫(kù) 2.1.0 開(kāi)始支持,低版本需做兼容處理。
監(jiān)聽(tīng) HTTP Response Header 事件。會(huì)比請(qǐng)求完成事件更早
HTTP Response Header 事件的回調(diào)函數(shù)
屬性 | 類(lèi)型 | 說(shuō)明 |
---|---|---|
header | Object | 開(kāi)發(fā)者服務(wù)器返回的 HTTP Response Header |
基礎(chǔ)庫(kù) 1.4.0 開(kāi)始支持,低版本需做兼容處理。
監(jiān)聽(tīng)下載進(jìn)度變化事件
下載進(jìn)度變化事件的回調(diào)函數(shù)
屬性 | 類(lèi)型 | 說(shuō)明 |
---|---|---|
progress | number | 下載進(jìn)度百分比 |
totalBytesWritten | number | 已經(jīng)下載的數(shù)據(jù)長(zhǎng)度,單位 Bytes |
totalBytesExpectedToWrite | number | 預(yù)期需要下載的數(shù)據(jù)總長(zhǎng)度,單位 Bytes |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: