返回

小程序-云开发-多图片内容安全检测秘籍

前端

一、图片安全检测的应用场景

  1. 社交平台:用户上传的头像、图片、视频等内容需要进行安全检测,防止不当或违法内容的传播。

  2. 电商平台:用户上传的商品图片需要进行安全检测,防止虚假、侵权或不当内容的出现。

  3. 内容审核平台:对用户上传的各种内容进行安全检测,防止不当或违法内容的传播。

  4. 金融平台:对用户上传的身份证、银行卡等重要信息进行安全检测,防止欺诈或不当使用。

二、图片安全检测解决图片的安全方式

  1. 人工审核 :由人工对图片进行审核,判断是否存在不当或违法内容。这种方式准确性高,但效率低,成本高。

  2. 机器学习 :利用机器学习算法对图片进行分析,判断是否存在不当或违法内容。这种方式效率高,成本低,但准确性稍低。

  3. 云服务 :利用云服务商提供的图片安全检测服务,对图片进行分析,判断是否存在不当或违法内容。这种方式效率高,成本低,准确性高。

三、使用云开发中云调用方式对图片进行检测

  1. 初始化云环境
wx.cloud.init()
  1. 调用云函数进行图片安全检测
wx.cloud.callFunction({
  name: 'imageSecurity',
  data: {
    fileIDs: ['cloud://cloud-test-1256539766.636c-cloud-test-1256539766/user-photo/1.jpg']
  }
}).then(res => {
  console.log(res.result)
})
  1. 处理图片安全检测结果
if (res.result.errCode === 0) {
  // 图片安全
} else {
  // 图片不安全,采取相应措施
}

四、对上传图片大小进行限制

  1. 设置图片大小限制
wx.chooseImage({
  count: 1,
  sizeType: ['compressed'],
  sourceType: ['album', 'camera'],
  success (res) {
    // success
  }
})
  1. 判断图片大小是否超限
const fileSize = res.tempFiles[0].size
if (fileSize > 1024 * 1024) {
  // 图片大小超限,采取相应措施
}

五、解决多图上传

  1. 使用循环上传图片
for (let i = 0; i < files.length; i++) {
  wx.cloud.uploadFile({
    cloudPath: 'cloud://cloud-test-1256539766.636c-cloud-test-1256539766/user-photo/' + Date.now() + '-' + i + '.jpg',
    filePath: files[i],
    success: res => {
      // success
    }
  })
}
  1. 使用并发上传图片
Promise.all(files.map(file => {
  return wx.cloud.uploadFile({
    cloudPath: 'cloud://cloud-test-1256539766.636c-cloud-test-1256539766/user-photo/' + Date.now() + '-' + i + '.jpg',
    filePath: file
  })
})).then(res => {
  // success
})