# uploadfile 文件上传

# upload

创建上传任务

  • 支持平台
Android IOS HarmonyOS
×
  • 参数说明
参数名 类型 必填 说明
options Object 上传任务详细参数,详见下表
  • options参数
参数名 类型 必填 说明
url String 上传url。
success Function 上传成功时回调。
error Function 上传失败时回调。
filePath String 上传文件的路径。
fileAttr Object 文件标识、文件名称、文件类型等
formdata Object 上传时参数。
addDataSuccess Function 添加数据成功回调。
addFileSuccess Function 添加文件成功回调。
blocksize Number 上传任务每次上传的文件块大小(暂不支持)。单位为Byte(字节),默认值为102400,若设置值小于等于0则表示不分块上传。仅在支持断点续传的服务有效
chunkSize Number 分块上传的大小。单位为Kb,设置值小于等于0则不分块上传,默认为不分块上传。注意:分块上传需要服务器支持,如果服务器不支持则会上传失败
method String 网络请求类型,仅支持http协议的“POST”请求。
header Object 上传任务HTTP报文头
priority Number 上传任务的优先级(暂不支持),数值越大优先级越高,默认优先级值为0
timeout Number 上传任务超时时间(暂不支持),单位为s(秒),默认值为120s。 超时时间为服务器响应请求的时间(不是上传任务完成的总时间),如果设置为0则表示永远不超时。
retry Number 上传任务重试次数(暂不支持),默认为重试3次
retryInterval Number 上传任务重试间隔时间(暂不支持),单位为s(秒),默认值为30s
  • upload 返回参数说明
参数 类型 说明
task UploadTask 上传任务
  • 示例代码
  // 创建上传任务
  let task = foxsdk.uploadfile.upload({
    url: 'http://inflex.oicp.net/mock-example/file/upload', // 上传url
    method: 'POST', // 上传时请求方法
    success: function (task) {
      console.log('##上传任务成功完成回调##\n' + JSON.stringify(task));
    }, // 上传成功回调
    error: function (task) {
      console.log('##上传任务失败完成回调##\n' + JSON.stringify(task));
    }, // 上传失败回调
    filePath: '_downloads/202001091600.txt', // 上传文件的路径
    fileAttr: {
      key: 'key202001091600',
      name: '202001091600.txt'
    }, // 文件标识、文件名称、文件类型等
    formdata: { 'keyName': 'keyValue' }, // 上传时参数
    addDataSuccess: function (retObj) {
      console.log('##添加上传文件回调##\n' + JSON.stringify(retObj));
    }, // 添加数据回调
    addFileSuccess: function (retObj) {
      console.log('##添加上传数据回调##\n' + JSON.stringify(retObj));
    }, // 添加文件回调
  });
  task.start();

# enumerate

枚举上传任务

  • 支持平台
Android IOS HarmonyOS
×
  • 参数说明
参数名 类型 必填 说明
state Number 上传任务的状态,如果未指定state值,则清除所有未完成的上传任务。
successCb Function 枚举上传任务成功回调
  • successCb 返回参数说明
参数 类型 说明
tasks Array[UploadTask] 上传任务
  • 示例代码
  let state = foxsdk.uploadfile.UploadState.All;
  foxsdk.uploadfile.enumerate(state, tasks => {
    console.log('##上传任务枚举回调(任务数:' + tasks.length + ')##\n' + JSON.stringify(tasks));
  });

# clear

清除上传任务

  • 支持平台
Android IOS HarmonyOS
×
  • 参数说明
参数名 类型 必填 说明
state Number 上传任务的状态,如果未指定state值,则清除所有未完成的上传任务。
  • 示例代码
  let state = foxsdk.uploadfile.UploadState.All;
  foxsdk.uploadfile.clear(state);

# startAll

开始所有上传任务

开始所有处于为开始调度或暂停状态的上传任务。 若上传任务数超过可并发处理的总数,超出的任务处于调度状态(等待上传),当有任务完成时根据调度状态任务的优先级选择任务开始上传。

  • 支持平台
Android IOS HarmonyOS
×
  • 示例代码
  foxsdk.uploadfile.startAll();

# UploadTask

  • 属性
    • identify:上传任务标识
    • url:上传文件的地址
    • state:上传任务的状态
    • options: 上传任务的参数
    • responseText:上传任务完成后服务器返回的数据
    • uploadedSize: 已完成上传文件的大小
    • totalSize: 上传任务文件的总大小
  • 方法

# start

开始上传任务

  // let task = foxsdk.uploadfile.upload(options);
  task.start();

# pause

暂停上传任务

  // let task = foxsdk.uploadfile.upload(options);
  task.pause();

# resume

开始上传任务

  // let task = foxsdk.uploadfile.upload(options);
  task.resume();

# abort

取消上传任务

  // let task = foxsdk.uploadfile.upload(options);
  task.abort();

# stateChanged

监听上传任务状态变化

  • 参数说明
参数名 类型 必填 说明
stateChangedCb Function 监听上传任务状态变化回调
  • stateChangedCb 返回参数说明
参数 类型 说明
task UploadTask 上传任务
  // let task = foxsdk.uploadfile.upload(options);
  this.task[id].stateChanged(task => {
    console.log('##上传任务监听回调##\n' + JSON.stringify(task));
  });

# UploadState

上传任务状态,如:foxsdk.uploadfile.UploadState.All

  • 常量
/**
 * 上传状态
 */
const UploadState = {
  /**
   * 上传任务未开始
   */
  Undefined: -1001,
  /**
   * 枚举任务状态
   */
  All: -1,
  /**
   * 上传任务开始调度
   */
  Start: 0,
  /**
   * 上传任务开始请求,发送请求到服务器并等待服务器的响应
   */
  StartRequest: 1,
  /**
   * 上传任务请求已经接收,服务器返回响应,准备传输数据内容
   */
  ReadReceived: 2,
  /**
   * 上传任务接收数据,可多次触发此状态。
   */
  Received: 3,
  /**
   * 上传任务已完成(成功)
   */
  Finished: 4,
  /**
   * 上传任务已暂停
   */
  Pause: 5,
  /**
   * 上传任务发生异常
   */
  Error: 6
};

# startUpload

开始上传任务(快速使用)

  • 支持平台
Android IOS HarmonyOS
  • 参数说明
参数名 类型 必填 说明
url String 上传文件URL地址。
options Object 上传任务详细参数,详见下表
  • options参数
参数名 类型 必填 说明
filename String 上传文件保存路径。
method String 网络请求类型,支持http协议的“GET”、“POST”,默认为“GET”请求。
header Object 上传任务HTTP报文头
data Object 上传任务HTTP携带参数
  • download 返回参数说明
参数 类型 说明
status Number 上传任务结果(1则表示正在上传中,0则表示任务完成)
message String message信息
payload Object 上传任务

-- status=1时payload参数说明 --

参数 类型 说明
received Number 上传进度
total Number 上传文件大小

-- status=0时payload参数说明 --

参数 类型 说明
state Number -1001表示上传已完成
  • 示例代码
var data = { filename: uploadFileName }
foxsdk.uploader.startUpload('http://210.12.198.141:18080/yump-msr/api/sys/file/upload',data, ret => {
});
Last Updated: 6/24/2024, 3:52:40 PM