博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oss滤网图片音视频过滤(1)内容检测
阅读量:5922 次
发布时间:2019-06-19

本文共 2711 字,大约阅读时间需要 9 分钟。

图片音视频过滤有好多方法,我这里就不一一介绍了,这篇文章只是简单介绍一下我在项目中使用阿里云oss滤网过滤的步骤

1.所遇问题:

1.图片视频鉴别时要设置textScanRequest.setUriPattern(uri);否则会报msg=[scene] is not support
2.内容安全内容检测API服务接入地址为:http://green.cn-shanghai.aliyuncs.com(上海)或http://green.cn-hangzhou.aliyuncs.com(杭州)
3.通信协议:内容安全内容检测API服务仅支持使用HTTP协议发送请求
4.所有接口仅支持HTTP POST方法发送请求
2.所需jar包

aliyun-java-sdk-core-3.0.7.jar

aliyun-java-sdk-green-3.0.0.jar
aliyun-sdk-oss-2.6.0-javadoc.jar
aliyun-sdk-oss-2.6.0-sources.jar
aliyun-sdk-oss-2.6.0.jar

以上jar包请前往https://help.aliyun.com/knowledge_detail/50170.html下载

2.设置公共请求参数
参考文档:
域名目前只支持"cn-hangzhou"和"cn-hangzhou"
// 请替换成你自己的accessKeyId、accessKeySecret
IClientProfile profile = DefaultProfile.getProfile(域名, accessKeyId,accessKeySecret);
// 内容安全内容检测API服务接入地址为:http://green.cn-hangzhou.aliyuncs.com
DefaultProfile.addEndpoint(需要检测的文件名, 域名, "Green", "green.cn-hangzhou.aliyuncs.com");
 
IAcsClient client = new DefaultAcsClient(profile);
 
TextScanRequest textScanRequest = new TextScanRequest();
textScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式
textScanRequest.setContentType(FormatType.JSON);
textScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 所有接口仅支持HTTP
// POST方法发送请求,这种方式下请求参数需要包含在请求的URL中
textScanRequest.setEncoding("UTF-8");// 请求及返回结果都使用UTF-8字符集进行编码
textScanRequest.setRegionId(域名);
 
3.方法调用

 

参考文档:https://help.aliyun.com/document_detail/53423.html?spm=5176.doc28440.6.564.NWZQ2p

List<Map<String, Object>> tasks = new ArrayList<Map<String, Object>>();

Map<String, Object> task1 = new LinkedHashMap<String, Object>();
task1.put("dataId", UUID.randomUUID().toString());
task1.put("content", text);
tasks.add(task1);
JSONObject data = new JSONObject();
data.put("scenes", Arrays.asList("antispam"));
data.put("tasks", tasks);

textScanRequest.setContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON);

try {

HttpResponse httpResponse = client.doAction(textScanRequest);

if (httpResponse.isSuccess()) {

JSONObject jo = JSON.parseObject(new String(httpResponse.getContent(), "UTF-8"));
Gson gson = new Gson();
TextBean fromJson = gson.fromJson(jo.toString(), TextBean.class);
List<TextBean.DataBean> data2 = fromJson.getData();
for (int i = 0; i < data2.size(); i++) {
TextBean.DataBean dataBean = data2.get(i);
List<TextBean.DataBean.ResultsBean> results = dataBean.getResults();
for (int j = 0; j < results.size();) {
TextBean.DataBean.ResultsBean resultsBean = results.get(j);
String suggestion = resultsBean.getSuggestion();
if (suggestion.equals("pass")) {
return true;
} else {
return false;
}
}
}

} else {

return false;
}

} catch (ServerException e) {

e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return true;
}

转载于:https://www.cnblogs.com/dollstory/p/7426819.html

你可能感兴趣的文章
delphi 预览图片2 (MouseUP)
查看>>
Laravel5中防止XSS跨站攻击的方法
查看>>
陈天桥:欣赏360保护隐私 用户安全永远第一
查看>>
内网终端管理:独立或统一管理都将大行其道
查看>>
汉字和Unicode编码知识
查看>>
利用奇异值分解(SVD)简化数据
查看>>
SQL Server 2008 未来将不再包含全文检索功能, 再研究此功能已经没多大意思了.
查看>>
他们写的,一点思考,一点敬意
查看>>
python初级学习笔记
查看>>
JMeter使用技巧
查看>>
linux -- Ubuntu14.04及之后版本重启网卡不生效
查看>>
sharepoint2010 数据访问的方式
查看>>
SharePoint 2013 工作流之Visual Studio开发示例篇
查看>>
C# 中New关键字的用法
查看>>
Activity静态变量传递参数
查看>>
MongoDB的复制集
查看>>
js操作符
查看>>
css中常用的标签
查看>>
C# Dapper 简单实例
查看>>
C# 静态类与非静态类、静态成员的区别
查看>>