Skip to content

图片视频相关功能

图片预览

该方法会弹出原生图片预览页面,预览时可下载图片。

扫码在客户端内测试 => /jcommind/previewImage
参数名称类型是否必填说明
imageListString[]Y图片地址数组,只支持http、https网络连接,不支持base64格式
targetNumberN当前显示图片的索引,默认为 0
返回值名称类型说明
codeNumber0 - 失败
1 - 成功
datahasPreviewed{ index: url }已查看的图片
hasSaved{ index: url }已保存的图片
javascript
dasdsada
window.CP2.previewImage({
  imageList: [
    'https://preimg.tmuyun.com/assets/20221025/1666698216038_6357cbe86304407b8b84ff8f.gif',
    'https://preimg.tmuyun.com/assets/20221025/1666684758031_63579756630440692d051dbd.png',
    'https://preimg.tmuyun.com/assets/20221025/1666698125825_6357cb8d6304407b8b84fde3.png',
  ],
 	target: 1,
}).then((res) => {
  console.log(res);
});

// {
//   "code": 1,
//   "data": {
//     "hasPreviewed": {
//       "0": "https://preimg.tmuyun.com/assets/20221025/1666698216038_6357cbe86304407b8b84ff8f.gif",
//       "1": "https://preimg.tmuyun.com/assets/20221025/1666684758031_63579756630440692d051dbd.png",
//       "2": "https://preimg.tmuyun.com/assets/20221025/1666698125825_6357cb8d6304407b8b84fde3.png",
//     },
//     "hasSaved": {
//       "0": "https://preimg.tmuyun.com/assets/20221025/1666698216038_6357cbe86304407b8b84ff8f.gif",
//       "1": "https://preimg.tmuyun.com/assets/20221025/1666684758031_63579756630440692d051dbd.png",
//       "2": "https://preimg.tmuyun.com/assets/20221025/1666698125825_6357cb8d6304407b8b84fde3.png",
//     },
//   }
// }

选择多媒体(图片、视频)

只有拍照可选择来源为摄像头。安卓系统选择摄像头后,打开的都是后置摄像头,可在拍照界面选择为前置摄像头。

扫码在客户端内测试 => /jcommind/selectMedia
参数名称类型是否必填说明
countNumberN可选择数量,默认9
typeStringN选择类型(video, image),其他则所有类型可选
mediaSourceStringNtype为image时有效,可选择来源
1:后置摄像头 2:前置摄像头 其他:相册
maxDurationStringN最大视频长度(秒)
minDurationStringN最小视频长度(秒)
返回值名称类型说明
codeNumber0 - 失败
1 - 成功
dataaddressString资源路径
durationNumber视频时长,毫秒级
mediaTypeString资源类型
base64Stringbase64格式
类型为视频时,为视频首帧图
javascript
window.CP2.selectMedia({
  count: 1,
  type: 'image',
  mediaSource: 1,
}).then((res) => {
  console.log(res);
});

// {
//   "data": [
//     {
//       "address": "/private/var/mobile/Containers/Data/Application/C6973847-F006-44AC-AD87-318C3DC31AD6/tmp//1700114491.440688.jpg",
//       "mediaType": "jpg",
//       "base64": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAgESAAM..."
//     },
//     {
//       "address": "/private/var/mobile/Containers/Data/Application/C6973847-F006-44AC-AD87-318C3DC31AD6/tmp//1700114491.483108.jpg",
//       "mediaType": "jpg",
//       "base64": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAgESAAMAA..."
//     }
//   ],
//   "code": 1
// }

文件上传(图片、视频)

选择图片或视频后,可通过此方法上传手机本地文件,文件路径可通过上面的选择多媒体方法获取

仅支持客户端主线版本v7.0.0及以上
扫码在客户端内测试 => /jcommind/upload
参数名称类型是否必填说明
urlStringY上传请求接口地址
addressStringY文件路径
headerJsonN需要放入请求头里面的参数
formDataJsonN其他需要放入 formData 一起提交了,例如 id、key、token 之类的校验参数
fileNameStringN不传则默认上传名为 file,通过 formData 上传
返回值名称类型说明
codeNumber0 - 失败
1 - 成功
dataJson接口返回值
javascript
window.CP2.upload({
    url: 'https://up.example.com', // 上传请求接口地址
    address: "/private/var/mobile/Containers/Data/Application/C6973847-F006-44AC-AD87-318C3DC31AD6/tmp//1700114491.483108.jpg", // 文件路径
    header: {}, // 需要放入请求头里面的参数
    formData: {}, // 其他需要放入 formData 一起提交了,例如 id、key、token 之类的校验参数
    fileName: 'file', // 默认 file,会通过 formData 上传
}).then((res) => {
  console.log(res);
});

// {
//   "code": "1",
//   "data": {}, // 接口返回的数据都会放在 data 里面
// }

保存图片

仅支持客户端主线版本v7.6.0及以上
扫码在客户端内测试 => /jcommind/saveImage
参数名称类型是否必填说明
urlStringY需要保存的图片,仅支持图片https链接、base64
返回值名称类型说明
codeNumber0 - 失败
1 - 成功
javascript
window.CP2.saveImage({
  url: 'https://preimg.tmuyun.com/assets/20221025/1666684758031_63579756630440692d051dbd.png'
}).then((res) => {
  console.log(res);
});

// {
//   "code": 1,
//   "message": "成功"
// }

保存视频

扫码在客户端内测试 => /jcommind/saveVideo
参数名称类型是否必填说明
urlStringY需要保存的视频,仅支持视频https/http链接
listenProgressFunctionN监听视频保存的进度
返回值名称类型说明
codeNumber0 - 失败
1 - 成功
javascript
window.CP2.saveVideo({
  url: 'https://mc-public-aged.tmuyun.com/14922259991620_hd.mp4',
  listenProgress(progressInfo) {
    // listenProgress返回值
    // {
    //   "code": 1,
    //   "data": {
    //     "receivedSize": 12033,
    //     "totalSize": 20034
    //   }
    // }
    console.log(progressInfo)
  }
}).then((res) => {
  console.log(res);
});

// {
//   "code": 1,
//   "message": "成功"
//   "videoPath": "/private/var/mobile/Containers/Data/Application/01947495-7EE8-4584-9CE0-ACB8850DCF7D/tmp/1673335298219.mp4"
// }