- 涉黄图片提示无违规?security.imgSecCheck 彻底失效?这个Api让我醉了!
【你是大佬,点进去看看我的问题吧,你一看就是很会】我在小程序中获取照片并转换Base64(可以通过工具正常转换成选择图片),再提交到云函数,在其中调用: const result = await cloud.openapi.security.imgSecCheck({ media: { contentType: event.fileName?.toLowerCase().endsWith('.png') ? 'image/png' : 'image/jpeg', value: buffer } }); 权限也声明了: { "permissions": { "openapi": [ "security.imgSecCheck", "security.msgSecCheck", "security.mediaCheckAsync" ] } } 但是最终经过重复测试发现无论提交什么图片都返回通过(包括涉黄图,经过测试发现照样返回通过)。 官方文档也没说这个方法被抛弃,说的正常可用。不知道是我的方式错还是咋的。我的云函数是: const cloud = require('wx-server-sdk'); cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }); exports.main = async (event, context) => { try { // Check if the file data is provided if (!event.file) { console.log('No image data received'); return { code: 400, msg: '未接收到图片数据' }; } // Convert base64 file to buffer const buffer = Buffer.from(event.file, 'base64'); console.log('Buffer length:', buffer .length); // Log the buffer length to check if the image data is correctly converted // Check if the image data is empty if (buffer.length === 0) { console.log('Image data is empty'); return { code: 400, msg: '图片数据为空' }; } // Check file size (limit to 2MB) if (buffer.length > 1024 * 1024 * 2) { // 2MB limit console.log('Image size exceeds 2MB:', buffer.length); // Log the size of the image return { code: 400, msg: '图片大小超过限制' }; } // Perform security check try { const result = await cloud.openapi.security.imgSecCheck({ media: { contentType: event.fileName?.toLowerCase().endsWith('.png') ? 'image/png' : 'image/jpeg', value: buffer } }); // Log the security check response for debugging console.log('Security check response:', JSON.stringify(result)); if (result.errCode === 0) { return { code: 200, msg: '检测通过' }; } else { console.log('Security check failed:', result); return { code: 500, msg: '图片检测未通过', data: result }; } } catch (secError) { console.error('Security check error:', secError); // Special handling for different error codes if (secError.errCode === 87014) { console.log('Image content violation detected'); return { code: 500, msg: '图片内容违规' }; } else if (secError.errCode === -604102) { console.log('Image format error detected'); return { code: 500, msg: '图片格式错误' }; } console.log('Unknown security check error:', secError); return { code: 500, msg: '图片检测失败', data: secError }; } } catch (err) { console.error('Fatal error:', err); return { code: 502, msg: '系统错误', error: err.message }; } }; 我希望使用相关的用户给个反馈,因为比较紧急。 再说一遍:小程序内选完图片后转成的base64内容绝对没有问题,可以正常转换成图片。
2024-12-08 - 微信位置共享中的导航应用列表无法显示
怎么能让自己编写的地图应用出现在微信位置共享中的导航应用列表中?[图片]
2024-10-12