前言:
最近有一个需要就是对文本和照片进行审核,审核的话自己来审核就太慢了,所以就去调了百度云的文本审核
正文:
首先你需要去某度文本审核地址申请一个App获取到appid,key,secret
获取到这三个之后在application.yml或者在nacos的xxxx-dev.yml配置文件中加入这个配置就行了
baiducheck:
appid: xxxxxxx
key: xxxxxxxxxxxxxxx
secret: xxxxxxxxxxxxxxxxxx
之后需要在pom.xml中添加某度云的依赖,如果你有slf4j冲突,就排除下面的依赖
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.16.14</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/84fac49c15cf322cf0ef302d0e9a43b1.png)
详细代码
我们可以看着文档做,里面有快速开始,我就是看的官方文档,不想看文档的直接复制我的代码就行了
Config配置类
package com.xssq.tuanzi.config;
import com.baidu.aip.contentcensor.AipContentCensor;
import com.xssq.tuanzi.entity.TextCheckProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableConfigurationProperties(TextCheckProperties.class)
public class BaiduTxtCheckConfig {
@Bean
public AipContentCensor aipContentCensor(TextCheckProperties check) {
return new AipContentCensor(check.getAppid(), check.getKey(), check.getSecret());
}
}
Service层
package com.xssq.tuanzi.service.impl;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.amazonaws.services.s3.model.S3Object;
import com.baidu.aip.contentcensor.AipContentCensor;
import com.xssq.common.core.util.R;
import com.xssq.tuanzi.service.BaiduTextCheckService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@Service
@AllArgsConstructor
@Slf4j
public class BaiduTextCheckImpl implements BaiduTextCheckService {
private final AipContentCensor client;
private final OssProperties ossProperties;
private final OssTemplate ossTemplate;
@Override
public Object textCheck(String check) {
return client.textCensorUserDefined(check);
}
@Override
public Object picturesCheck(MultipartFile file) {
try {
System.err.println(file.getOriginalFilename());
return client.imageCensorUserDefined(file.getBytes(), null).toString();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Controller层
package com.xssq.tuanzi.controller;
import com.xssq.common.core.util.R;
import com.xssq.common.security.annotation.Inner;
import com.xssq.tuanzi.service.BaiduTextCheckService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Tag(name = "某度文本检测接口Controller")
@RestController
@RequestMapping("/baiduCheck")
@Inner(false)
@SecurityRequirement(name = HttpHeaders.ALLOW)
@AllArgsConstructor
public class BaiduTextCheckController {
private final BaiduTextCheckService baiduTextCheckService;
@Operation(summary = "文本检测", description = "文本检测")
@GetMapping("/textCheck")
@Inner(false)
public Object textCheck(String check) {
return baiduTextCheckService.textCheck(check);
}
@Operation(summary = "图片检测", description = "图片检测")
@PostMapping("/picturesCheck")
@Inner(false)
public Object picturesCheck(MultipartFile file) {
return baiduTextCheckService.picturesCheck(file);
}
}
后记:
如果有问题的话,就去看官网文档,测试结果贴一下给大家看看
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/243fbef3e636607e4f43a3f22d2e19cd.png)
同理,视频检测和照片检测以及其他检测也是这样
到此教程就结束了,希望我的博客能给大家帮助.如果我的博客对你有帮助,你可以去微信公众号搜索,幸识SQ,找到我,里面有更多精彩的文章