小程序
小游戏
企业微信
微信支付
扫描小程序码分享
使用chooseImage读取图片文件,真机上非常的慢,看到打的log已经readFile出数据了,但是接下来是调用云函数都没调用,在云函数里根本没看到被调用。
在开发工具上是可以,但是也不是很快。
有没有人知道怎么解决这个问题?谢谢
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
let that = this; //让用户选择或拍摄照片 wx.chooseImage({ count: 9, sizeType: ['original', 'compressed'], sourceType: ['album'], success(res) { console.log(res) const tempFiles = res.tempFiles for (let index = 0; index < tempFiles.length; index++) { // 如果文件大于1M if (tempFiles[index].size > 1024 * 1000) { wx.showToast({ title: '大于1M的图片已被去除', icon: 'none', }); continue } const file = tempFiles[index].path; console.log('file', file) wx.getFileSystemManager().readFile({ filePath: file, success: res => { console.log('readFile', res) let imgBuffer = res.data // 图片安全检测 wx.cloud.callFunction({ name: 'checkImage', data: { imgBuffer: imgBuffer } }).then(res => { console.log('检测结果', res) }) } }) } } })
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你自查吧,我这边速度正常,
猜不到
这么讲,大家都不明白的。没代码,没环境。
云调用没起效,去看文档。
chooseimage这个是不是你自己的网速特别导致上传慢?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
let that = this; //让用户选择或拍摄照片 wx.chooseImage({ count: 9, sizeType: ['original', 'compressed'], sourceType: ['album'], success(res) { console.log(res) const tempFiles = res.tempFiles for (let index = 0; index < tempFiles.length; index++) { // 如果文件大于1M if (tempFiles[index].size > 1024 * 1000) { wx.showToast({ title: '大于1M的图片已被去除', icon: 'none', }); continue } const file = tempFiles[index].path; console.log('file', file) wx.getFileSystemManager().readFile({ filePath: file, success: res => { console.log('readFile', res) let imgBuffer = res.data // 图片安全检测 wx.cloud.callFunction({ name: 'checkImage', data: { imgBuffer: imgBuffer } }).then(res => { console.log('检测结果', res) }) } }) } } })
你自查吧,我这边速度正常,
猜不到
这么讲,大家都不明白的。没代码,没环境。
云调用没起效,去看文档。
chooseimage这个是不是你自己的网速特别导致上传慢?
filePath: file,
success: res => {
你这个是异步操作,for循环这么快。你要用:readFileSync来试试吧,因为你说有时候可以有时候慢。
不知道是不是这原因,你得自查加试出来才行。你说云函数不执行。如果循环快。都是异步操作。有可能导致这样的情况吧。