小程序文件下載wx.downloadFile
DownloadTask wx.downloadFile(Object object)
下載文件資源到本地?蛻舳酥苯影l(fā)起一個(gè) HTTPS GET 請(qǐng)求,返回文件的本地臨時(shí)路徑 (本地路徑),單次下載允許的最大文件為 200MB。使用前請(qǐng)注意閱讀相關(guān)說明。
注意:請(qǐng)?jiān)诜⻊?wù)端響應(yīng)的 header 中指定合理的 Content-Type 字段,以保證客戶端正確處理文件類型。
參數(shù)
Object object
屬性 類型 默認(rèn)值 必填 說明 最低版本
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í)行)
object.success 回調(diào)函數(shù)
參數(shù)
Object res
屬性 類型 說明 最低版本
tempFilePath string 臨時(shí)文件路徑 (本地路徑)。沒傳入 filePath 指定文件存儲(chǔ)路徑時(shí)會(huì)返回,下載后的文件會(huì)存儲(chǔ)到一個(gè)臨時(shí)文件
filePath string 用戶文件路徑 (本地路徑)。傳入 filePath 時(shí)會(huì)返回,跟傳入的 filePath 一致
statusCode number 開發(fā)者服務(wù)器返回的 HTTP 狀態(tài)碼
profile Object 網(wǎng)絡(luò)請(qǐng)求過程中一些調(diào)試信息,查看詳細(xì)說明 2.10.4
結(jié)構(gòu)屬性 類型 說明
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 域名查詢開始的時(shí)間,如果使用了本地緩存(即無(wú) DNS 查詢)或持久連接,則與 fetchStart 值相等
domainLookupEnd number DNS 域名查詢完成的時(shí)間,如果使用了本地緩存(即無(wú) DNS 查詢)或持久連接,則與 fetchStart 值相等
connectStart number HTTP(TCP) 開始建立連接的時(shí)間,如果是持久連接,則與 fetchStart 值相等。注意如果在傳輸層發(fā)生了錯(cuò)誤且重新建立連接,則這里顯示的是新建立的連接開始的時(shí)間
connectEnd number HTTP(TCP) 完成建立連接的時(shí)間(完成握手),如果是持久連接,則與 fetchStart 值相等。注意如果在傳輸層發(fā)生了錯(cuò)誤且重新建立連接,則這里顯示的是新建立的連接完成的時(shí)間。注意這里握手結(jié)束,包括安全連接建立完成、SOCKS 授權(quán)通過
SSLconnectionStart number SSL建立連接的時(shí)間,如果不是安全連接,則值為 0
SSLconnectionEnd number SSL建立完成的時(shí)間,如果不是安全連接,則值為 0
requestStart number HTTP請(qǐng)求讀取真實(shí)文檔開始的時(shí)間(完成建立連接),包括從本地讀取緩存。連接錯(cuò)誤重連時(shí),這里顯示的也是新建立連接的時(shí)間
requestEnd number HTTP請(qǐng)求讀取真實(shí)文檔結(jié)束的時(shí)間
responseStart number HTTP 開始接收響應(yīng)的時(shí)間(獲取到第一個(gè)字節(jié)),包括從本地讀取緩存
responseEnd number HTTP 響應(yīng)全部接收完成的時(shí)間(獲取到最后一個(gè)字節(jié)),包括從本地讀取緩存
rtt number 當(dāng)次請(qǐng)求連接過程中實(shí)時(shí) rtt
estimate_nettype number 評(píng)估的網(wǎng)絡(luò)狀態(tài) unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6
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ù)
protocol string 使用協(xié)議類型,有效值:http1.1, h2, quic, unknown
返回值
DownloadTask
基礎(chǔ)庫(kù) 1.4.0 開始支持,低版本需做兼容處理。
一個(gè)可以監(jiān)聽下載進(jìn)度變化事件和取消下載的對(duì)象
示例代碼
wx.downloadFile({
url: 'https://example.com/audio/123', //僅為示例,并非真實(shí)的資源
success (res) {
// 只要服務(wù)器有響應(yīng)數(shù)據(jù),就會(huì)把響應(yīng)內(nèi)容寫入文件并進(jìn)入 success 回調(diào),業(yè)務(wù)需要自行判斷是否下載到了想要的內(nèi)容
if (res.statusCode === 200) {
wx.playVoice({
filePath: res.tempFilePath
})
}
}
})
作者:大學(xué)生新聞網(wǎng) 來(lái)源:大學(xué)生新聞網(wǎng)
發(fā)布時(shí)間:2025-04-07 閱讀: