小程序文件下載wx.downloadFile
DownloadTask wx.downloadFile(Object object)
下載文件資源到本地。客戶端直接發(fā)起一個(gè) HTTPS GET 請求,返回文件的本地臨時(shí)路徑 (本地路徑),單次下載允許的最大文件為 200MB。使用前請注意閱讀相關(guān)說明。
注意:請?jiān)诜⻊?wù)端響應(yīng)的 header 中指定合理的 Content-Type 字段,以保證客戶端正確處理文件類型。
參數(shù)
Object object
屬性 類型 默認(rèn)值 必填 說明 最低版本
url string 是 下載資源的 url
header Object 否 HTTP 請求的 Header,Header 中不能設(shè)置 Referer
timeout number 否 超時(shí)時(shí)間,單位為毫秒 2.10.0
filePath string 否 指定文件下載后存儲的路徑 (本地路徑) 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)用成功、失敗都會執(zhí)行)
object.success 回調(diào)函數(shù)
參數(shù)
Object res
屬性 類型 說明 最低版本
tempFilePath string 臨時(shí)文件路徑 (本地路徑)。沒傳入 filePath 指定文件存儲路徑時(shí)會返回,下載后的文件會存儲到一個(gè)臨時(shí)文件
filePath string 用戶文件路徑 (本地路徑)。傳入 filePath 時(shí)會返回,跟傳入的 filePath 一致
statusCode number 開發(fā)者服務(wù)器返回的 HTTP 狀態(tài)碼
profile Object 網(wǎng)絡(luò)請求過程中一些調(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 請求抓取資源的時(shí)間,這發(fā)生在檢查本地緩存之前
domainLookupStart number DNS 域名查詢開始的時(shí)間,如果使用了本地緩存(即無 DNS 查詢)或持久連接,則與 fetchStart 值相等
domainLookupEnd number DNS 域名查詢完成的時(shí)間,如果使用了本地緩存(即無 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請求讀取真實(shí)文檔開始的時(shí)間(完成建立連接),包括從本地讀取緩存。連接錯(cuò)誤重連時(shí),這里顯示的也是新建立連接的時(shí)間
requestEnd number HTTP請求讀取真實(shí)文檔結(jié)束的時(shí)間
responseStart number HTTP 開始接收響應(yīng)的時(shí)間(獲取到第一個(gè)字節(jié)),包括從本地讀取緩存
responseEnd number HTTP 響應(yīng)全部接收完成的時(shí)間(獲取到最后一個(gè)字節(jié)),包括從本地讀取緩存
rtt number 當(dāng)次請求連接過程中實(shí)時(shí) rtt
estimate_nettype number 評估的網(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è)請求評估當(dāng)前網(wǎng)絡(luò)的 rtt(僅供參考)
transportRttEstimate number 傳輸層根據(jù)多個(gè)請求評估的當(dāng)前網(wǎng)絡(luò)的 rtt(僅供參考)
downstreamThroughputKbpsEstimate number 評估當(dāng)前網(wǎng)絡(luò)下載的kbps
throughputKbps number 當(dāng)前網(wǎng)絡(luò)的實(shí)際下載kbps
peerIP string 當(dāng)前請求的IP
port number 當(dāng)前請求的端口
socketReused boolean 是否復(fù)用連接
sendBytesCount number 發(fā)送的字節(jié)數(shù)
receivedBytedCount number 收到字節(jié)數(shù)
protocol string 使用協(xié)議類型,有效值:http1.1, h2, quic, unknown
返回值
DownloadTask
基礎(chǔ)庫 1.4.0 開始支持,低版本需做兼容處理。
一個(gè)可以監(jiān)聽下載進(jìn)度變化事件和取消下載的對象
示例代碼
wx.downloadFile({
url: 'https://example.com/audio/123', //僅為示例,并非真實(shí)的資源
success (res) {
// 只要服務(wù)器有響應(yīng)數(shù)據(jù),就會把響應(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) 來源:大學(xué)生新聞網(wǎng)
發(fā)布時(shí)間:2025-04-07 閱讀: