# 文件

# 文件选择器 v4.1.0

# 使用说明

Android iOS PC 是否需要鉴权
支持 支持 支持 不需要

# 参数说明

参数 参数类型 必传 说明
multiple Boolean pc端是否多选,默认为false。移动端不需要
imageOpt Object 选择图片
imageOpt[max] Number 最大数量
videoOpt Object 选择视频
videoOpt[max] Number 最大数量
videoOpt[duration] Number 视频最大时长,单位(秒)
typeOnly Boolean 是否支持混选,默认为false(可以混选)

# 返回说明

若选择取消,则返回-1

参数 参数类型 说明
files Array 选择文件列表
files.item Object 文件对象
files.item[path] String 文件上传路径
files.item[sourcePath] String pc端文件原路径,移动端无此返回
files.item[showPath] String pc端文件展示路径,移动端无此返回
files.item[width] Number 文件宽度
files.item[height] Number 文件高度
files.item[duration] Number 视频时长
// 全量引入调用方式
yy.biz.util.openMediaFileDialog({
  multiple: true,
  imageOpt: {
    max: 9
  },
  videoOpt: {
    max: 1,
    duration: 30
  },
  typeOnly: true,
  onSuccess: function (result) {
    /*
      [{
        path: "..."
        width: 100
        height: 100
        duration: 20
      }]
    */
  },
  // 未按条件选择,也会返回所选文件并回调onFail
  onFail: function (result) {
    /*
      [{
        path: "..."
        width: 100
        height: 100
        duration: 20
      }]
    */
  },
});

// 按需加载调用方式,参数与全量引入相同
openMediaFileDialog({...});

# 调试

biz.util.openMediaFileDialog

# 上传媒体文件 v4.1.0

# 使用说明

Android iOS PC 是否需要鉴权
支持 支持 支持 需要

# 参数说明

参数 参数类型 必传 说明
files Array 上传文件列表
files.item String 文件路径

# 返回说明

上传失败,则返回-1

参数 参数类型 说明
list Array 上传文件列表
list.item Object 文件对象
list.item[fileId] String 文件id,仅pc端返回
list.item[filePath] String 文件链接地址
list.item[fileName] String 文件名
list.item[sourcePath] String 文件本地地址
list.item[relation_id] String 视频文件转码id,视频播放时使用;图片预览时使用
list.item[videoPic] String 视频首帧截图链接地址
// 全量引入调用方式
yy.biz.util.mediaFileUpload({
  files: ['xxx.jpg', 'xxx.mp4'],
  onSuccess: function (result) {
    /*
      [{
        fileId: 1
        filePath: "..."
        fileName: "..."
        sourcePath: "..."
        relation_id: "111111"
        videoPic: "..."
      }]
    */
  },
  onProgress: function (result) {
    /*
      [{
        fileId: 1
        sourcePath: "..."
        processdata: {
          loaded: 10000,
          total: 10000,
          speed: 5000,
          percent: 0
        }
      }]
    */
  }
  onFail: function () {},
});

// 按需加载调用方式,参数与全量引入相同
mediaFileUpload({...});

# 调试

biz.util.openMediaFileDialog, biz.util.mediaFileUpload

# 上传文件

# 使用说明

Android iOS PC 是否需要鉴权
支持 支持 支持 不需要

# 参数说明

参数 参数类型 必传 说明
multiple Boolean pc端是否多选,默认为false。仅支持 pc 端
image Object 仅支持移动端
image[multiple] Boolean 是否多选,默认为false, 仅支持移动端
image[compress] Boolean 是否压缩,默认为true, 仅支持移动端
image[max] Number 最多选择的图片数目,最多支持9张, 仅支持移动端
file Object 仅支持移动端
file[max] Number 最多选择的文件数目,最多支持9个, 仅支持移动端
types Array<'photo' | 'camera' | 'file'> 支持上传附件的文件类型, 移动端必传,pc 端 types 与 suffix 至少传入其中一个
suffix string[] 支持传入指定后缀名的文件,types 与 suffix 至少传入其中一个,仅支持 PC 端
costype number 目前仅 pc 支持
1:上传到公有桶,0:上传到私有桶;默认上传到公有桶
应使用 0 上传到私有桶,1 为兼容已接入的应用,等接入方修改为上传到私有桶后关闭该参数
maxNum number 上传文件最大数量限制,仅支持 PC 端,知音楼版本 >= 1.7.1.10
endUploadOvernumber boolean 超出最大数量限制后是否结束上传,默认为 false 不结束上传,上传到最大限制的数量,仅支持 PC 端,知音楼版本 >= 1.7.1.10
maxSize number 上传单个文件大小限制,仅支持 PC 端,知音楼版本 >= 1.7.1.10
endUploadHasOversize boolean 文件中存在超出大小限制文件时是否结束上传,默认为 false 不结束上传,上传不超出大小限制的文件,仅支持 PC 端,知音楼版本 >= 1.7.1.10

# 返回说明

若上传取消,则返回-1

参数 参数类型 说明
count Number 上传文件数量
data Object 上传返回内容
data[fileUrl] String 文件地址
data[fileId] String 文件 id
data[fileName] String 文件名称
data[fileSize] String 文件大小
data[fileType] String 文件类型
data[relationId] String 文件关联 id
ext Object 额外信息
ext[width] Number 图片宽度
ext[height] Number 图片高度

新增上传失败返回说明,仅适用于知音楼版本 >= 1.7.1.10,低版本返回错误信息格式不做兼容

参数 参数类型 说明
data Object 上传错误返回内容
data[type] String 错误类型
data[msg] String 错误描述
data[file] String、String[]、undefined 出错文件
// 全量引入调用方式
yy.biz.util.uploadAttachment({
  image: {
    multiple: true,
    compress: false,
    max: 9,
  },
  file: {
    multiple: true,
    compress: false,
    max: 30,
  },
  types: ["photo", "file"],
  costype: 0,
  onSuccess: function (result) {
    /*
      true
    */
  },
  onFail: function () {},
});

// 按需加载调用方式,参数与全量引入相同
uploadAttachment({...});

# 调试

biz.util.uploadAttachment

# 上传剪贴板内文件 v1.1.3

# 使用说明

Android iOS PC 是否需要鉴权
不支持 不支持 支持 不需要

# 返回说明

// 全量引入调用方式
yy.biz.util.clipboardFileUpload({
  onSuccess: function (result) {
    /*
      true
    */
  },
  onFail: function () {},
});

// 按需加载调用方式,参数与全量引入相同
clipboardFileUpload({...});

# 调试

biz.util.clipboardFileUpload

# 下载文件

# 使用说明

Android iOS PC 是否需要鉴权
不支持 不支持 支持 不需要

# 参数说明

参数 参数类型 必传 说明
url string 要下载的文件的url
name string 定义下载文件名字

# 返回说明

// 全量引入调用方式
yy.biz.util.downloadFile({
  url:
    "https://yach-xstatic.zhiyinlou.com/test/jsapi/1603681258482/zf6zqwow1l/b544faad-b48b-4bc6-bfce-35c326c4e225.doc", //要下载的文件的url
  name: "test.doc", //定义下载文件名字
  onProgress: function (msg) {
    // 文件下载进度回调
  },
  onSuccess: function (result) {
    /*
          true
        */
  },
  onFail: function () {},
});

// 按需加载调用方式,参数与全量引入相同
downloadFile({...});

# 调试

biz.util.downloadFile

# 文件预览

支持 PDF、office 文件预览,不支持的文件类型提示下载,目前仅支持https://yach-static.zhiyinlou.comhttps://yach-xstatic.zhiyinlou.com下的资源预览
视频预览使用 biz.util.openVideoPlaye,图片预览使用 biz.util.previewImage

# 使用说明

Android iOS PC 是否需要鉴权
支持 支持 支持 v3.1.0 不需要

# 参数说明

参数 参数类型 必传 说明
type string 文件类型,4.0.10 开始废弃该参数,可兼容使用低版本传入的情况
relationId string 1.relationId 可从上传文件接口biz.util.uploadAttachment的返回值中获取,腾讯云返回
2.用于获取文件信息,使用 wps 还是使用 Microsoft 打开
3.私有文件通过该参数获取信息
file string 要下载的文件的url,公有文件直接使用该参数进行预览
size string 定义下载文件大小
name string 定义下载文件名字

# 返回说明

// 全量引入调用方式
yy.biz.util.previewFile({
    file: '文件url',
    size: '文件大小',
  	name:'文件名'
    onSuccess : function(result) {
    },
    onFail : function() {}
})

// 按需加载调用方式,参数与全量引入相同
previewFile({...});

# 调试

biz.util.previewFile

# 外链文件预览 v4.1.3

支持 PDF、office 文件预览,不支持的文件类型提示下载

# 使用说明

Android iOS PC 是否需要鉴权
支持 支持 支持 不需要

# 参数说明

参数 参数类型 必传 说明
file string 文件url地址

# 返回说明

// 全量引入调用方式
yy.biz.util.externalLinkPreviewFile({
    file: '文件url',
    onSuccess : function(result) {
    },
    onFail : function() {}
})

// 按需加载调用方式,参数与全量引入相同
externalLinkPreviewFile({...});

# 调试

biz.util.externalLinkPreviewFile

# 图片预览

# 使用说明

调用此 api,将进行预览图片。

Android iOS PC 是否需要鉴权
支持 支持 支持 不需要
// 全量引入调用方式
yy.biz.util.previewImage({
  // 移动端和 pc 端(<=1.4.8.24)参数
  urls: [String], //图片地址列表
  current: String, //当前显示的图片链接

  // pc 端(>1.4.8.24)参数
  "data":[{
      "name":"test1",
      "url":"https://yach-static.zhiyinlou.com/test/jsapi/1601360525953/61htm29cdxr/94f58246-f9a6-4859-bf3f-e29e59e5df9c.png",
      "width": 1210,
      "height": 563,
      "id":"120832398568091664",
      "curr":false
    }, {
      "name":"test2",
      "url":"https://yach-static.zhiyinlou.com/test/jsapi/1601360569936/whazs9rnrak/76548db5-fa84-4def-b05a-afb58f270963.png",
      "width": 317,
      "height": 355,
      "id":"120832398568091666",
      "curr":false
    }, {
      "name":"test2",
      "url":"https://yach-static.zhiyinlou.com/test/jsapi/1601360616899/2u3g06idwpi/f87cf929-0418-4e11-af9f-b8d647c623d2.png",
      "width": 270,
      "height": 443,
      "id":"120832398568091668",
      "curr":false
    }, {
      "name":"test2",
      "url":"https://yach-static.zhiyinlou.com/test/jsapi/1601360727298/wotvlzbdf2/d191cb4f-31d9-43b8-a50c-51842a5af609.png",
      "width": 1919,
      "height": 1037,
      "id":"120832398568091672",
      "curr":true
    }],
  "id":"120832398568091672",
  onSuccess: function (result) {
    /**/
  },
  onFail: function (err) {}
});

// 按需加载调用方式,参数与全量引入相同
previewImage({...});

# 参数说明

移动端和 pc 端(<=1.4.8.24)参数说明

参数 参数类型 必传 说明
urls Array[String] 图片地址列表
current String 当前显示的图片链接
longPressOptions Array[String] 可配置的内容:
Send:发送给联系人
Save:保存到手机
Qrcode:识别二维码
Editor:编辑
例如:{"longPressOptions":["Send","Qrcode"]},如果不传默认同时配置上面四个选项。

pc 端(>1.4.8.24)参数说明

参数 参数类型 必传 说明
data Array[img]
图片数据
img[name] String
图片名称
img[id] String
图片 id (biz.util.mediaFileUpload 中返回的 relation_id)
img[url] String
图片地址
img[width] number
图片宽度
img[height] number
图片高度
img[curr] boolean
是否为当前图片
id string
当前图片的 id

# 返回说明

# 调试

biz.util.previewImage

# 视频预览

# 使用说明

调用此 api,将进行预览视频。

Android iOS PC 是否需要鉴权
支持 支持 支持 不需要
// 全量引入调用方式
yy.biz.util.openVideoPlayer({
  url: String, // 视频地址列表
  relationId: String,
  onSuccess: function (result) {
    /**/
  },
  onFail: function (err) {}
});

// 按需加载调用方式,参数与全量引入相同
openVideoPlayer({...});

# 参数说明

参数 参数类型 必传 说明
url String 1.移动端和桌面端均支持该字段
relationId String 1.腾讯云所返回,可根据 relationId 获取到视频资源
2.移动端和桌面端均支持该字段
3.桌面端必传
4.移动端非必传

# 返回说明

# 调试

biz.util.openVideoPlayer

# 保存base64图片

# 使用说明

调用此 api,保存base64图片。

Android iOS PC 是否需要鉴权
支持 支持 不支持 需要
// 全量引入调用方式
yy.biz.util.savePic({
  content:base64,
  onSuccess: function (result) {
    /**/
  },
  onFail: function (err) {}
});

// 按需加载调用方式,参数与全量引入相同
savePic({...});

# 参数说明

参数 参数类型 必传 说明
content String base64字符串

# 返回说明

# 调试

biz.util.savePic
上次更新: 1/20/2023, 3:01:13 PM
foo