使用 wx.downloadFile 接口是可使小程序发起HTTPS GET请求,下载文件到手机端。
单次下载的最大文件为50MB。接受Obkect参,参支持属性如下:
url(必填):下载文件的URL
header:设置请求的Header。Header中不能设置Referer
filePath:指定文件下载后的存储路径,如果不设置将保存为临时文件
success
fail
complete
success回调函数接受一个Object返回值,参属性statusCode表示服务器返回的HTTP状态码;tempFilePath或filePath属性表示下载文件的位置。具体为哪个属性取决于wx.downloadFile是否传入filePath指定文件的路径,
下载文件会返回一个DownLoad对象,可通过该对象取消文件下载或取消监听下载进度变化事件,示例代码如下:
//?监听下载进度变化事件
????downloadTask.onProgressUpdate(res?=>?{
??????console.log('下载进度',?res.progress)
??????console.log('已经下载的数据长度',?res.totalBytesWriten)
??????console.log('预期需要下载的数据总长度',?res.totalBytesExpectedToWrite)
????})
????//?取消监听下载进度变化事件
????downloadTask.onHeadersReceived(function(res){
??????console.log(res.header);?//?服务器返回的?HTTP?Response?Header
??????Object
????})
????//?取消监听HTTP?Response?Header?事件
????downloadTask.offHeadersReceived()
????//?取消下载任务
????downloadTask.abort()
(感觉和云函数下载有点像)