鸿蒙语言基础类库:【@system.request (上传下载)】

上传下载

说明:

  • 从API Version 6开始,该接口不再维护,推荐使用新接口[@ohos.request]。
  • 本模块首批接口从API version 4开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import request from '@system.request';

权限列表

ohos.permission.INTERNET。

request.upload

upload(Object): void

上传文件。

参数:

参数名 类型 必填 说明
url string 上传服务器地址。
header Object 请求头。
method string 请求方法:POST、PUT。缺省POST。
files Array 待上传文件列表。请使用multipart/form-data进行提交。
data Array 请求的表单数据。
success Function 接口调用成功的回调函数。
fail Function 接口调用失败的回调函数。
complete Function 接口调用结束的回调函数。

表1 File

参数名 类型 必填 说明
filename string multipart 提交时,请求头中的文件名。
name string multipart 提交时,表单项目的名称,缺省为file。
uri string 文件的本地存储路径。
type string 文件的内容类型,默认根据文件名或路径的后缀获取。

表2 RequestData

参数名 类型 必填 说明
name string 表示form 元素的名称。
value string 表示form 元素的值。

success返回值:

参数名 类型 说明
code number 服务器返回的HTTP状态码。
data string 服务器返回的内容。根据返回头内容中的type决定该值的类型。
headers Object 服务器返回的返回头内容。

fail返回值中的data中的code为HTTP状态码。

示例:

export default {    
  upLoad() {
    request.upload({
      url: 'http://www.path.com',
      files: [
        {
           uri: 'internal://cache/path/to/file.txt',
           name: 'file',
           filename: 'file.txt',
        },
      ],
      data:[
        {
          name: 'name1',
          value: 'value',
         },
       ],
       success: function(data) {
         console.log('upload success, code:' + data.code);
       },
       fail: function() {
         console.log('upload fail');
       },
     });
  }
}

request.download

download(Object): void

下载文件。

参数:

参数名 类型 必填 说明
url string 资源地址。
header Object 请求头。
description string 资源地址的下载描述,默认为文件名称。
filename string 本次下载文件的名称。默认从本次请求或资源地址中获取。
success Function 接口调用成功的回调函数。
fail Function 接口调用失败的回调函数。
complete Function 接口调用结束的回调函数。

success返回值:

参数名 类型 说明
token string 表示下载的 token,获取下载状态的依据。

fail返回错误代码:

错误码 说明
400 表示下载任务失败。

示例:

export default {    
  downLoad() {        
    request.download({            
      url: 'http://www.path.com',            
      success: function(data) {                
        console.log('call success callback success: ' + data.token);            
      },            
      fail: function(data, code) {                
        console.log('handling fail');            
      },        
    });    
  }
}

request.onDownloadComplete

onDownloadComplete(Object): void

获取下载任务状态。

参数:

参数名 类型 必填 说明
token string download 接口返回的结果 token。
success Function 接口调用成功的回调函数。
fail Function 接口调用失败的回调函数。
complete Function 接口调用结束的回调函数。

success返回值:

参数名 类型 说明
uri string 表示下载文件的uri。

fail返回错误代码:

错误码 说明
400 表示下载任务失败。
401 表示不存在该下载任务。

示例:

export default {    
  onDownloadComplete() {        
    request.onDownloadComplete({            
      token: 'token-index',            
      success: function(data) {                
        console.log('download success, uri:' + data.uri);            
      },            
      fail: function(data, code) {                
        console.log('download fail');            
      },
    });    
  }
}
相关推荐
努力变厉害的小超超2 小时前
ArkTS中的组件基础、状态管理、样式处理、class语法以及界面渲染
笔记·鸿蒙
sanzk2 小时前
华为鸿蒙应用开发
华为·harmonyos
SoraLuna6 小时前
「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现
macos·ui·harmonyos
ClkLog-开源埋点用户分析7 小时前
ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
华为·开源·开源软件·harmonyos
mg6687 小时前
鸿蒙系统的优势 开发 环境搭建 开发小示例
华为·harmonyos
lqj_本人8 小时前
鸿蒙next选择 Flutter 开发跨平台应用的原因
flutter·华为·harmonyos
lqj_本人8 小时前
使用 Flutter 绘制一个棋盘
harmonyos
前端宝哥11 小时前
10 个超赞的开发者工具,助你轻松提升效率
前端·程序员
lqj_本人11 小时前
Flutter&鸿蒙next 状态管理框架对比分析
flutter·华为·harmonyos
青瓷看世界12 小时前
华为HarmonyOS打造开放、合规的广告生态 - 插屏广告
华为·harmonyos·广告投放