上传下载

接口声明

  1. { "name": "system.request" }

导入模块

  1. import request from '@system.request' const request = require('@system.request')

接口定义

request.upload(OBJECT)

上传文件

参数:

参数名类型必填说明
urlString资源 url
headerObject请求的 header,会将其所有属性设置到请求的 header 部分。User-Agent设置在1040版本开始支持。
methodString默认为 POST,可以是: POST, PUT
filesArray需要上传的文件列表,使用 multipart/form-data 方式提交
data 1000+ArrayHTTP 请求中其他额外的 form data
successFunction成功返回的回调函数
failFunction失败的回调函数
completeFunction结束的回调函数(调用成功、失败都会执行)
files 参数 :

files 参数是一个 file 对象的数组,file 对象的结构如下:

参数名类型必填说明
filenameStringmultipart 提交时,header 中的文件名
nameStringmultipart 提交时,表单的项目名,默认 file
uriString文件的本地地址
typeString文件的 Content-Type 格式,默认会根据 filename 或者 uri 的后缀获取
data 参数 1000+:
参数名类型必填说明
nameStringform 元素的名称。
valueStringform 元素的值。
success 返回值:
参数名类型说明
codeInteger服务器状态 code
dataString如果服务器返回的 header 中 type 是 text/*或 application/json、application/javascript、application/xml,值是文本内容,否则是存储的临时文件的 uri 临时文件如果是图片或者视频内容,可以将图片设置到 image 或 video 控件上显示
headersObject服务器 response 的所有 header

示例:

  1. request.upload({
  2. url: 'http://www.example.com',
  3. files: [
  4. {
  5. uri: 'internal://xxx/xxx/test',
  6. name: 'file1',
  7. filename: 'test.png'
  8. }
  9. ],
  10. data: [
  11. {
  12. name: 'param1',
  13. value: 'value1'
  14. }
  15. ],
  16. success: function(data) {
  17. console.log('handling success')
  18. },
  19. fail: function(data, code) {
  20. console.log(`handling fail, code = ${code}`)
  21. }
  22. })

request.download(OBJECT)

下载文件

参数:

参数名类型必填说明
urlString资源 url
headerString请求的 header,会将其所有属性设置到请求的 header 部分。User-Agent设置在1040版本开始支持。
description 1010+String下载描述,会用于通知栏标题。默认为文件名
filename 1010+String下载文件名。默认从网络请求或 url 中获取
successFunction成功返回的回调函数
failFunction失败的回调函数
completeFunction结束的回调函数(调用成功、失败都会执行)
success 返回值:
参数名类型说明
tokenString下载的 token,根据此 token 获取下载状态

示例:

  1. request.download({
  2. url: 'http://www.example.com',
  3. success: function(data) {
  4. console.log(`handling success${data.token}`)
  5. },
  6. fail: function(data, code) {
  7. console.log(`handling fail, code = ${code}`)
  8. }
  9. })

request.onDownloadComplete(OBJECT)

监听下载任务

参数:

参数名类型必填说明
tokenStringdownload 接口返回的 token
successFunction成功返回的回调函数
failFunction失败的回调函数
completeFunction结束的回调函数(调用成功、失败都会执行)
success 返回值:
参数名类型说明
uriString下载文件的 Uri
fail 返回错误代码:
错误码 说明
1000下载失败
1001下载任务不存在

示例:

  1. request.onDownloadComplete({
  2. token: '123',
  3. success: function(data) {
  4. console.log(`handling success${data.uri}`)
  5. },
  6. fail: function(data, code) {
  7. console.log(`handling fail, code = ${code}`)
  8. }
  9. })

后台运行限制

manifest 中申请后可用。后台运行详细用法参见后台运行 脚本