文件
选择本地文件
使用说明
| 客户端 | Android | iOS | PC |
|---|---|---|---|
| 支持说明 | 支持 | 支持 | / |
const params = {
allowMultiple:false,
mimeType:['application/msword', 'application/vnd.ms-powerpoint']
}
window.ksoxz_sdk.chooseFile({params, onSuccess, onError});参数说明
| 参数 | 类型 | 描述 | 是否必须 | 备注 |
|---|---|---|---|---|
| allowMultiple | boolean | 是否多选 | 否,默认 false(单选) | 目前 beta 环境下 Android 对多选的支持不是很好,主要取决于系统的支持,推荐先使用 false |
| mimeType | string[] | 仅显示指定类型文件 | 否,默认 Null,显示所有类型文件 | 类型参考 Multipurpose Internet Mail Extensions |
返回结果
| 参数 | 类型 | 描述 | 备注 |
|---|---|---|---|
| fileInfos | object[] | 文件信息数组 | fileInfo |
fileInfo
| 参数 | 类型 | 描述 | 备注 |
|---|---|---|---|
| fileName | string | 文件名称 | / |
| fileSize | number | 文件大小 | / |
| filePath | string | 文件路径 | / |
预览文件
使用说明
| 客户端 | Android | iOS | PC |
|---|---|---|---|
| 支持说明 | 支持 | 支持 | / |
const params = {
filePath:'本地路径',
openMode:'loacl',
fileType:'doc'
};
window.ksoxz_sdk.previewFile({params});参数说明
| 参数 | 类型 | 描述 | 是否必须 | 备注 |
|---|---|---|---|---|
| filePath | string | 本地文件路径 | 是 | 通过 chooseFile 或者 downloadFile 获得的 filePath |
| openMode | string | 打开文件方式 | 否 | 打开文件方式,默认值为local,支持传入local(本地预览) 和 external(使用其他应用打开); 注:文件类型为fileType可选值时,local才生效;其他类型文件通过系统面板选择其他应用打开 |
| fileType | string | 文件类型 | 是 | 文件类型,可选值包括: doc:doc格式 docx:docx格式 xls:xls格式 xlsx:xlsx格式 ppt:ppt格式 pptx:pptx格式 pdf:pdf格式 |
| showMenu | boolean | 是否显示右上角【更多】菜单 | 否 | 通默认为true,点击【更多】,显示 选择其他应用-打开文件的弹窗。仅对iOS生效 |
上传文件
使用说明
将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。使用前请注意阅读相关说明。
| 客户端 | Android | iOS | PC |
|---|---|---|---|
| 支持说明 | 支持 | 支持 | / |
const header = {
//开发者请求url自定义header
token:"xxxxxxx"
}
const formData = {}
const params = {
url:'https://www.ksyun.com/',
filePath:'storage/emulated/0/Download/xxx.txt',
header:header,
formData:formData
};
// 调用sdk后会返回一个包含几个方法的对象
const sdkInstance = window.ksoxz_sdk.uploadFile({params, onSuccess, onError});
// 如果需要对上传进度进行处理则可以调用
sdkInstance.onProgressUpdate(({ totalBytes, sentBytes }) => {
const persent = Math.floor(sentBytes * 100 / totalBytes)
})
//取消上传
sdkInstance.abort()参数说明
| 参数 | 类型 | 描述 | 是否必须 | 备注 |
|---|---|---|---|---|
| url | string | 开发者服务器地址 | 是 | / |
| filePath | string | 要上传文件资源的路径 (本地路径) | 是 | 可以通过 chooseFile api 获取文件绝对路径 |
| header | object | HTTP 请求 Header | 否 | 不能为 Referer |
| formData | object | Http 请求中额外的 Form Data | 否 | / |
下载文件
使用说明
| 客户端 | Android | iOS | PC |
|---|---|---|---|
| 支持说明 | 支持 | 支持 | / |
const params = {
url:'https://www.ksyun.com/',
filePath:'storage/emulated/0/Download/xxx.txt'
method:'GET', // 请求方法,默认为GET,如果需要POST请求,可以设置为POST
body: { key: 'value' }, // POST请求的body内容,传入object类型
header: {
'Content-Type': 'application/json',
'Authorization': 'token' // 例如,使用Bearer Token进行认证
},
isXZLoading: true, // 是否弹出进度弹窗
isXZHandle: true // 是否显示下载完成的弹出页面
};
// 调用sdk后会返回一个包含几个方法的对象
const sdkInstance = window.ksoxz_sdk.downloadFile({params, onSuccess, onError});
// 如果需要对下载进度进行处理则可以调用
sdkInstance.onProgressUpdate(({ totalBytes, writtenBytes }) => {
const persent = Math.floor(writtenBytes * 100 / totalBytes)
})
//取消下载
sdkInstance.abort()参数说明
| 参数 | 类型 | 描述 | 是否必须 | 备注 |
|---|---|---|---|---|
| method | string | 请求方法 | 是 | 默认值为GET,支持填入POST。若填入POST,则需传入 body 和 headers,目前仅支持移动端 |
| url | string | 下载资源的 url | 是 | / |
| filePath | string | 指定文件下载后存储的路径 (本地路径) | 否 | 若不指定下载目录则会下载到应用目录下,iOS 不支持指定 filePath 下载 |
| body | object | POST请求的body内容 | 否 | |
| headers | object | HTTP请求头 | 否 | |
| isXZLoading | bool | 是否弹出进度弹窗 | 否 | 默认为true |
| isXZHandle | bool | 是否显示下载完成的弹出页面 | 否 | 默认为true |
返回结果
| 参数 | 类型 | 描述 | 备注 |
|---|---|---|---|
| fileInfo | object | 文件信息 | / |
fileInfo:
| 参数 | 类型 | 描述 | 备注 |
|---|---|---|---|
| fileName | string | 文件名称 | / |
| fileSize | number | 文件大小 | / |
| filePath | string | 文件路径 | / |