搭建论坛网站使用的系统,分类 网站模板,密云建设网站公司,网站开发中网页上传和发布说明#xff1a;在项目中#xff0c;我们经常会对用户上传的内容#xff08;如文字、图片#xff09;等资源内容进行审核#xff0c;审核包括两方面#xff0c;一方面是内容与描述不符#xff0c;一方面是违反法律法规。本文介绍使用阿里提供的内容审核服务#xff0c;…说明在项目中我们经常会对用户上传的内容如文字、图片等资源内容进行审核审核包括两方面一方面是内容与描述不符一方面是违反法律法规。本文介绍使用阿里提供的内容审核服务对图片内容进行审核。
开通服务
第一步打开官网
进入阿里云官网在搜索框内输入“内容安全”点击下面这个选择“免费开通” 第二步开通内容审核服务
选择“立即开通” 第三步在线调试
进入“控制台”“服务列表”中图片审核选择在线调试 第四步调试代码
在弹出的窗口中填上图片URL和scene场景选择SDK实例和Java语言 图片URL可以选择本地图片上传也可以在选择网络路径像OSS、Minio上的图片资源路径如我填入的是下面这张 图片审核的场景参数如下这里我填“porn色情图片” 第五步发起调用
点“发起调用”查看响应结果可以看到“Suggestion”的值为“pass”表示这张图片OK没问题 代码实现
第一步添加依赖
接下来就很简单了把右边SDK调用的代码复制下来就可以了但是需要引入相关的依赖。如下创建一个简单的SpringBoot项目pom.xml文件如下
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.hzy/groupIdartifactIdstarter-simple/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source11/maven.compiler.sourcemaven.compiler.target11/maven.compiler.target/properties!--Springboot项目--parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.12/versionrelativePath//parentdependencies!--启动类依赖--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--图片审核依赖--dependencygroupIdcom.aliyun/groupIdartifactIdimageaudit20191230/artifactIdversion2.0.6/version/dependency/dependencies
/project注意依赖也不是随便引入的阿里云提供的SDK中找到 点进GitHub链接可以找到依赖的Maven坐标 而版本号可以点SDK链接 第二步代码实现
把前面在线调试的代码拷贝下来提供的代码建议我们把AKSK配置到系统环境变量中有一点离谱我直接不听他的建议将代码修改成如下
public class Sample {/*** 使用AKSK初始化账号Client* param accessKeyId* param accessKeySecret* return Client* throws Exception*/public static com.aliyun.imageaudit20191230.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {com.aliyun.teaopenapi.models.Config config new com.aliyun.teaopenapi.models.Config().setAccessKeyId(accessKeyId).setAccessKeySecret(accessKeySecret);config.endpoint imageaudit.cn-shanghai.aliyuncs.com;return new com.aliyun.imageaudit20191230.Client(config);}/*** main方法* param args* throws Exception*/public static void main(String[] args) throws Exception {// 官方在这里是获取系统中环境变量中的值com.aliyun.imageaudit20191230.Client client Sample.createClient(你的ak, 你的sk);// 设置ImageURLcom.aliyun.imageaudit20191230.models.ScanImageRequest.ScanImageRequestTask task0 new com.aliyun.imageaudit20191230.models.ScanImageRequest.ScanImageRequestTask().setImageURL(https://gimg2.baidu.com/image_search/srchttp%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2F5723a630-077e-45c5-9e73-49ed809b3f43%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpgreferhttp%3A%2F%2Fsafe-img.xhscdn.comapp2002sizef9999,10000qa80n0g0nfmtauto?sec1694165323t149871d4e26b4b9a386e0e98bedc2929);// 添加图片任务、设置场景com.aliyun.imageaudit20191230.models.ScanImageRequest scanImageRequest new com.aliyun.imageaudit20191230.models.ScanImageRequest().setTask(java.util.Arrays.asList(task0)).setScene(java.util.Arrays.asList(porn));com.aliyun.teautil.models.RuntimeOptions runtime new com.aliyun.teautil.models.RuntimeOptions();// 打印图片审核结果String suggestion client.scanImageWithOptions(scanImageRequest, runtime).getBody().getData().results.get(0).getSubResults().get(0).suggestion;System.out.println(suggestion);}
}获取AKSK
第一步进入AccessKey管理
鼠标移动到右上角自己的头像上选择AccessKey管理 第二步使用子用户AccessKey
进入后选择“开始使用子用户AccessKey” 第三步创建用户
选择“创建用户” 填写登录名称和在列表中显示的名称记得勾选OpenAPI调用访问 创建完成后就会有AKSK记得复制下来
第四步添加权限
获得AKSK还没完还需要开通该用户图片审核服务的使用权限 搜索“AliyunVIAPIFullAccess”点击加入点确定 测试
把上面获取到的AKSK填入到代码中鼠标右键启动程序 可以看到这张图片审核建议为“pass” 到这里使用阿里内容审核服务对图片内容审核功能就完成了。当然这是一个非常简陋的Demo有以下待优化的地方 在实际项目中我们不可能把AK、SK、ImageURL和endpoint在代码中写死应该写在配置文件中 对审核的结果应该增加校验审核返回值有异常的话需要处理判断捕获/抛出 对于审核结果不能仅返回一个审核建议还需要获取其他返回值应该设计一套返回结果的解析
审核返回值在阿里云官方提供的SDK中说明部分如下