tencent cloud

腾讯云超级应用服务

下载

下载
聚焦模式
字号
最后更新时间: 2025-04-10 18:18:33

downloadFile

该 API 使用方法为 DownloadTask wx.downloadFile(Object object)
注意:
请在服务端响应的 header 中指定合理的 Content-Type 字段,以保证客户端正确处理文件类型。
功能说明:下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为200MB。使用前请参考阅 相关说明。
参数及说明:Object object。
属性
类型
必填
说明
url
string
是
下载资源的 url
header
Object
否
HTTP 请求的 Header,Header 中不能设置 Referer
filePath
string
否
指定文件下载后存储的路径
success
function
否
接口调用成功的回调函数
fail
function
否
接口调用失败的回调函数
complete
function
否
接口调用结束的回调函数(调用成功、失败都会执行)
object.success 回调函数参数:Object res。
属性
类型
说明
tempFilePath
string
临时文件路径 (本地路径)。没传入 filePath 指定文件存储路径时会返回,下载后的文件会存储到一个临时文件
filePath
string
用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致
statusCode
number
开发者服务器返回的 HTTP 状态码
返回值:DownloadTask
示例代码:
wx.downloadFile({
url: 'https://example.com/audio/123', //仅为示例,并非真实的资源
success (res) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
if (res.statusCode === 200) {
console.log('filePath', res.tempFilePath);
}
}
})

DownloadTask

.abort

该方法使用方式为 DownloadTask.abort()
功能说明:中断下载任务。

.onProgressUpdate

该方法使用方式为 DownloadTask.onProgressUpdate(function listener)
功能说明:监听下载进度变化事件。
参数及说明:function listener,下载进度变化事件的监听函数。
属性
类型
说明
progress
number
下载进度百分比
totalBytesWritten
number
已经下载的数据长度,单位 Bytes
totalBytesExpectedToWrite
number
预期需要下载的数据总长度,单位 Bytes

.offProgressUpdate

该方法使用方式为 DownloadTask.offProgressUpdate(function listener)
功能说明:移除下载进度变化事件的监听函数。
参数及说明:function listener,onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。
示例代码:
const listener = function (res) { console.log(res) }

DownloadTask.onHeadersReceived(listener)
DownloadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象

.onHeadersReceived

该方法使用方式为 DownloadTask.onHeadersReceived(function listener)
功能说明:监听 HTTP Response Header 事件。会比请求完成事件更早。
参数及说明:function listener,HTTP Response Header 事件的监听函数。
属性
类型
说明
header
Object
开发者服务器返回的 HTTP Response Header

.offHeadersReceived

该方法使用方式为 DownloadTask.offHeadersReceived(function listener)
功能说明:移除 HTTP Response Header 事件的监听函数。
参数及说明:function listener,onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。
示例代码:
const listener = function (res) { console.log(res) }

DownloadTask.onHeadersReceived(listener)
DownloadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象

示例代码

const downloadTask = wx.downloadFile({
url: 'http://example.com/audio/123', //仅为示例,并非真实的资源
success (res) {
console.log('filePath', res.tempFilePath);
}
})

downloadTask.onProgressUpdate((res) => {
console.log('下载进度', res.progress)
console.log('已经下载的数据长度', res.totalBytesWritten)
console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)
})

downloadTask.abort() // 取消下载任务


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈