小程序文件下載wx.downloadFile
DownloadTask wx.downloadFile(Object object)
下載文件資源到本地。客戶端直接發(fā)起一個 HTTPS GET 請求,返回文件的本地臨時路徑 (本地路徑),單次下載允許的最大文件為 200MB。使用前請注意閱讀相關說明。
注意:請在服務端響應的 header 中指定合理的 Content-Type 字段,以保證客戶端正確處理文件類型。
參數(shù)
Object object
屬性 類型 默認值 必填 說明 最低版本
url string 是 下載資源的 url
header Object 否 HTTP 請求的 Header,Header 中不能設置 Referer
timeout number 否 超時時間,單位為毫秒 2.10.0
filePath string 否 指定文件下載后存儲的路徑 (本地路徑) 1.8.0
success function 否 接口調用成功的回調函數(shù)
fail function 否 接口調用失敗的回調函數(shù)
complete function 否 接口調用結束的回調函數(shù)(調用成功、失敗都會執(zhí)行)
object.success 回調函數(shù)
參數(shù)
Object res
屬性 類型 說明 最低版本
tempFilePath string 臨時文件路徑 (本地路徑)。沒傳入 filePath 指定文件存儲路徑時會返回,下載后的文件會存儲到一個臨時文件
filePath string 用戶文件路徑 (本地路徑)。傳入 filePath 時會返回,跟傳入的 filePath 一致
statusCode number 開發(fā)者服務器返回的 HTTP 狀態(tài)碼
profile Object 網(wǎng)絡請求過程中一些調試信息,查看詳細說明 2.10.4
結構屬性 類型 說明
redirectStart number 第一個 HTTP 重定向發(fā)生時的時間。有跳轉且是同域名內的重定向才算,否則值為 0
redirectEnd number 最后一個 HTTP 重定向完成時的時間。有跳轉且是同域名內部的重定向才算,否則值為 0
fetchStart number 組件準備好使用 HTTP 請求抓取資源的時間,這發(fā)生在檢查本地緩存之前
domainLookupStart number DNS 域名查詢開始的時間,如果使用了本地緩存(即無 DNS 查詢)或持久連接,則與 fetchStart 值相等
domainLookupEnd number DNS 域名查詢完成的時間,如果使用了本地緩存(即無 DNS 查詢)或持久連接,則與 fetchStart 值相等
connectStart number HTTP(TCP) 開始建立連接的時間,如果是持久連接,則與 fetchStart 值相等。注意如果在傳輸層發(fā)生了錯誤且重新建立連接,則這里顯示的是新建立的連接開始的時間
connectEnd number HTTP(TCP) 完成建立連接的時間(完成握手),如果是持久連接,則與 fetchStart 值相等。注意如果在傳輸層發(fā)生了錯誤且重新建立連接,則這里顯示的是新建立的連接完成的時間。注意這里握手結束,包括安全連接建立完成、SOCKS 授權通過
SSLconnectionStart number SSL建立連接的時間,如果不是安全連接,則值為 0
SSLconnectionEnd number SSL建立完成的時間,如果不是安全連接,則值為 0
requestStart number HTTP請求讀取真實文檔開始的時間(完成建立連接),包括從本地讀取緩存。連接錯誤重連時,這里顯示的也是新建立連接的時間
requestEnd number HTTP請求讀取真實文檔結束的時間
responseStart number HTTP 開始接收響應的時間(獲取到第一個字節(jié)),包括從本地讀取緩存
responseEnd number HTTP 響應全部接收完成的時間(獲取到最后一個字節(jié)),包括從本地讀取緩存
rtt number 當次請求連接過程中實時 rtt
estimate_nettype number 評估的網(wǎng)絡狀態(tài) unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6
httpRttEstimate number 協(xié)議層根據(jù)多個請求評估當前網(wǎng)絡的 rtt(僅供參考)
transportRttEstimate number 傳輸層根據(jù)多個請求評估的當前網(wǎng)絡的 rtt(僅供參考)
downstreamThroughputKbpsEstimate number 評估當前網(wǎng)絡下載的kbps
throughputKbps number 當前網(wǎng)絡的實際下載kbps
peerIP string 當前請求的IP
port number 當前請求的端口
socketReused boolean 是否復用連接
sendBytesCount number 發(fā)送的字節(jié)數(shù)
receivedBytedCount number 收到字節(jié)數(shù)
protocol string 使用協(xié)議類型,有效值:http1.1, h2, quic, unknown
返回值
DownloadTask
基礎庫 1.4.0 開始支持,低版本需做兼容處理。
一個可以監(jiān)聽下載進度變化事件和取消下載的對象
示例代碼
wx.downloadFile({
url: 'https://example.com/audio/123', //僅為示例,并非真實的資源
success (res) {
// 只要服務器有響應數(shù)據(jù),就會把響應內容寫入文件并進入 success 回調,業(yè)務需要自行判斷是否下載到了想要的內容
if (res.statusCode === 200) {
wx.playVoice({
filePath: res.tempFilePath
})
}
}
})
作者:大學生新聞網(wǎng) 來源:大學生新聞網(wǎng)