小程序开发API之下载请求(附代码示例)

网友投稿 500 2024-07-14 14:23:17

下载

#downloadFile

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

downloadFile(Object object)

下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径。

调用后返回 DownloadTask。

注意

请在服务端响应的 header 中指定合理的 Content-Type 字段,以保证客户端正确处理文件类型。

参数

Object object

属性类型默认值必填说明
urlstring
下载资源的 url
headerObject
设置请求的 header,header 中不能设置 Referer
timeoutnumber
超时时间,单位为毫秒
filePathstring
指定文件下载后存储的路径 (本地路径)
successfunction
接口调用成功的回调函数
failfunction
接口调用失败的回调函数
completefunction
接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数

Object res

属性类型说明
tempFilePathstring临时文件路径。
filePathstring用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致
statusCodenumber开发者服务器返回的 HTTP 状态码

示例代码

ft.downloadFile({
  url: 'https://example.com/audio/123', // 仅为示例,并非真实的资源
  success(res) {
    // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
    if (res.statusCode === 200) {
      ft.playVoice({
        filePath: res.tempFilePath      })
    }
  }})
        已复制代码

#DownloadTask.abort

基础库2.4.2开始支持,iOS版本2.13.59,Android版本2.13.34

DownloadTask.abort()

中断请求任务

示例代码

const task = ft.request({
  // some params})// 中断请求task.abort()
        已复制代码

#DownloadTask.onHeadersReceived

基础库2.4.2开始支持,iOS版本2.13.59,Android版本2.13.34

DownloadTask.onHeadersReceived(function callback)

监听 HTTP Response Header 事件,会比请求完成事件更早。

参数

function callback

Header Received 事件的回调函数

回调函数参数

Object res

属性类型说明
headerObject开发者服务器返回的 HTTP Response Header

#DownloadTask.offHeadersReceived

基础库2.4.2开始支持,iOS版本2.13.59,Android版本2.13.34

DownloadTask.offHeadersReceived(function callback)

取消监听 HTTP Response Header 事件。

参数

function callback

Header Received 事件的回调函数

#DownloadTask.onProgressUpdate

基础库2.4.2开始支持,iOS版本2.13.59,Android版本2.13.34

DownloadTask.onProgressUpdate(function callback)

监听下载进度变化事件。

参数

function callback

Progress Update 事件的回调函数

回调函数参数

Object res

属性类型说明
progressnumber下载进度百分比
totalBytesWrittennumber已经下载的数据长度,单位 Bytes
totalBytesExpectedToWritenumber预期需要下载的数据总长度,单位 Bytes

示例代码

const task = ft.downloadFile({
  // some params})// 监听进度变化task.onProgressUpdate((res) => {
  this.setData({
    progress: res.progress  })})
        已复制代码

#DownloadTask.offProgressUpdate

基础库2.4.2开始支持,iOS版本2.13.59,Android版本2.13.34

DownloadTask.offProgressUpdate(function callback)

取消监听下载进度变化。

参数

function callback

Progress Update 事件的回调函数


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序开发之利用原生Api发起HTTP网络请求
下一篇:小程序开发API如何将本地资源上传到服务器
相关文章