Skip to content

文件

关于文件本地路径

文件相关的接口,若需传入本地文件路径,都需要去掉file://开头。

例如,通常我们获取到的本地图片路径为:file:///var/mobile/xxxx/test.xlsx,需去掉file://,变成/var/mobile/xxxx/test.xlsx

选择文件

打开 WorkPlus 文件选择管理器,支持单选或多选,并自动上传文件到后台媒体中心,返回对应 mediaId。

使用说明

客户端AndroidiOS
支持情况支持支持
js
w6s.file.chooseFiles({
  multiple: true,
  fileKeys: ['已选文件本地地址'],
  fileLimit: {
    maxSelectCount: 9,
    singleSelectSize: -1,
    totalSelectSize: -1,
  },
  success: function(res) {},
  fail: function(err) {},
});

参数说明

参数类型说明
multipleBoolean是否为多选
fileKeysArray[String]已选文件本地地址数组,用于复选
fileLimit.maxSelectCountNumber非必须,多选时数量的限制,默认为 9
fileLimit.singleSelectSizeNumber非必须,单个文件选择大小限制(byte),-1表示不限制,默认为 -1
fileLimit.totalSelectSizeNumber非必须,所有文件选择大小限制(byte),-1表示不限制,默认为 -1

返回数据

参数说明
filePath文件在本机的路径
mediaId该文件在媒体中心的 mediaId
name文件名字

打开文件详情

通过指定 mediaId, fileName 等参数, 打开文件详情界面。

使用说明

客户端AndroidiOS
支持情况支持支持
js
// 该方法没有回调
w6s.file.openFileDetail({
  filePath: '文件地址',
  fileName: 'demo',
  fileSize: 100 * 1024,
  mediaId: 'demo-mediaId',
  isImage: true,
});

参数说明

参数类型说明
filePathString可选参数,文件路径, 若传入该参数, 则优先以该路径为主; 支持本地以及http url 地址
fileNameString文件名
fileSizeNumber非必须,文件大小,单位 byte
mediaIdString可选参数,传入媒体id,详见filePath参数说明
isImageBoolean必须,指定文件是否是图片, 若为 true, 客户端则强制打开图片预览界面, false 则通过 fileName后缀来判断文件类型, 非图片则使用文件详情界面

本地打开文件

原生打开文件,pdf、excel、word 及 ppt 等。

与"打开文件详情"的区别

该方法是直接通过系统的方式去打开本地文件,而打开文件详情则是打开一个 WorkPlus 的文件预览页面,该页面具备下载或预览的功能。

使用说明

客户端AndroidiOS
支持情况支持支持
js
// 该方法没有回调
w6s.file.readFile({
  path: '文件地址'
});

参数说明

参数类型说明
pathString文件访问地址

判断文件是否存在

判断指定路径的文件是否存在。

使用说明

客户端AndroidiOS
支持情况支持支持
js
w6s.file.isFileExist({
  path: '文件地址',
  success: function(res) {},
  fail: function(err) {},
});

参数说明

参数类型说明
pathString文件访问地址

返回数据

参数说明
existBoolean, 表示文件是否存在

文件下载

下载文件到本地,可以在 WorkPlus 文件选择器中看到。

使用说明

客户端AndroidiOS
支持情况支持支持
js
w6s.file.download({
  source: 'https://demo.com/xx.file',
  target: 'file:///var/mobile/xx/files/xxx.file',
  trustAllHosts: false,
  options: {
    headers: {},
  },
  success: function(res) {},
  fail: function(res) {},
});

参数说明

参数类型说明
sourcestring文件的下载地址,需做 encodeURI 处理
targetstring文件下载后存放在本级的地址
trustAllHostsboolean可选参数,默认为false。 如果设置为true,则它接受所有安全证书。 这很有用,因为Android拒绝自签名安全证书。 不建议用于生产。
optionsobject通常用于设置头部信息

具体接口参数说明,请查看官方文档

返回数据

下载成功后,将会执行success回调方法,并返回一个FileEntry对象。若失败,将触发fail回调方法,返回一个FileTransferError错误对象。

关于 target 参数

通常情况下,我们无法得知设备本地存储文件的具体位置,可以通过获取文件目录路径获取。

文件上传

上传本地文件到服务器,通常用于选择图片或者文件后上传到第三方服务器。

使用说明

客户端AndroidiOS
支持情况支持支持
js
// 1、创建上传文件参数对象
const fileUploadOptions = new window.FileUploadOptions()
fileUploadOptions.fileKey = 'file'
fileUploadOptions.mimeType = "text/plain"
// 2、创建文件上传对象
const fileIns = new w6s.file.upload(fileUploadOptions)
// 3、调用上传
fileIns.upload({ 
  fileURL: '文件本地地址',
  server: '上传媒体的服务器地址',
  trustAllHosts: false,
  success: function(res) {
    // 上传成功回调
  },
  fail: function(err) {
    // 上传失败回调
  },
  progress: function(loaded, total) {
    // loaded:已经上传的,tottal:文件总大小
    // 可在此处处理文件上传的进度计算
  }
})

FileUploadOptions参数说明

参数类型说明
fileKeystring表单元素的名称。默认为file
mimeTypestring要上传的数据的 mime 类型。默认为image/jpeg。

具体接口参数说明,请查看官方文档

上传options参数说明

参数类型说明
fileURLstring文件在设备中的本地地址
serverstring上传文件的服务器地址
trustAllHostsboolean可选参数,默认为false。 如果设置为true,则它接受所有安全证书。 这很有用,因为Android拒绝自签名安全证书。 不建议用于生产。

具体接口参数说明,请查看官方文档

获取文件目录路径

获取设备的文件存在目录,包括下载文件夹及网盘(如果有)及用户自定义目录。

使用说明

客户端AndroidiOS
支持情况支持支持
js
w6s.file.getFilePath({
  system: 'file',
  custom: 'test',
  success: function(res) {},
  fail: function(err) {},
});

参数说明

参数类型说明
systemstring表示 WorkPlus 定义的路径,目前支持file, dropbox类型, 分别获取下载文件目录, 跟网盘目录
customstring轻应用自定义的用户目录,如传入参数"custom" : "abc", app 将创建sdcard_root/app_file/username/abc的文件目录, 并返回路径给调用者

注意,以上参数system优先级较高, 即两个类型同时传入时, 以system为准。