From 5d907f28de2d3ee4c358c536bc99db1675ef9ddf Mon Sep 17 00:00:00 2001 From: qyhdd Date: Wed, 8 Jun 2022 21:09:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=96=E9=9F=B3token=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/controller/SysFileController.java | 1 + .../com/bnyer/file/service/ITikTokImage.java | 12 +++ .../service/impl/TikTokImageServiceImpl.java | 68 ++++++++++++++++ .../java/com/bnyer/file/utils/HttpUtils.java | 77 +++++++++++++++++++ .../src/main/resources/bootstrap.yml | 4 + 5 files changed, 162 insertions(+) create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/ITikTokImage.java create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/TikTokImageServiceImpl.java create mode 100644 bnyer-services/bnyer-file/src/main/java/com/bnyer/file/utils/HttpUtils.java diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index 592d2af..9b3e389 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -84,4 +84,5 @@ public class SysFileController } return R.ok(url); } + } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/ITikTokImage.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/ITikTokImage.java new file mode 100644 index 0000000..57f4987 --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/ITikTokImage.java @@ -0,0 +1,12 @@ +package com.bnyer.file.service; + +import org.springframework.web.multipart.MultipartFile; + +/** + * @Author: qyh + * @Date: 2022-06-08-18:44 + * @Description: + */ +public interface ITikTokImage { + Boolean checkImageContent(MultipartFile file); +} diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/TikTokImageServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/TikTokImageServiceImpl.java new file mode 100644 index 0000000..d44d4c7 --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/TikTokImageServiceImpl.java @@ -0,0 +1,68 @@ +package com.bnyer.file.service.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.nacos.common.codec.Base64; +import com.bnyer.file.service.IQiniuService; +import com.bnyer.file.service.ITikTokImage; +import com.bnyer.file.utils.HttpUtils; +import com.bnyer.file.utils.StringUtil; +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; +import com.qiniu.common.QiniuException; +import com.qiniu.common.Zone; +import com.qiniu.http.Client; +import com.qiniu.http.Response; +import com.qiniu.storage.Configuration; +import com.qiniu.storage.UploadManager; +import com.qiniu.storage.model.DefaultPutRet; +import com.qiniu.util.Auth; +import com.qiniu.util.StringMap; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; + +/** + * @Author: Yeman + * @Date: 2022-06-08-10:51 + * @Description: + */ +@Service("tiktokImage") +public class TikTokImageServiceImpl implements ITikTokImage { + @Value("${tiktok.appId}") + private static String appId; + + @Value("${tiktok.secret}") + private static String secret; + + @Value("${tiktok.grant_type}") + private static String grant_type; + + @Value("${qiniu.url}") + private String getTokenUrl="https://developer.toutiao.com/api/apps/v2/token"; + public static void main(String[] args) { + } + + @Override + public Boolean checkImageContent(MultipartFile file) { + String token=""; + HashMap param = new HashMap<>(); + param.put("appId", appId); + param.put("secret", secret); + param.put("grant_type", grant_type); + String body = JSON.toJSONString(param); + String res = HttpUtils.sendPost(getTokenUrl, body); + String err_tips = JSON.parseObject(res).get("err_tips").toString(); + if (err_tips.equals("success")){ + token=JSON.parseObject(err_tips).get("access_token").toString(); + } + return null; + } +} diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/utils/HttpUtils.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/utils/HttpUtils.java new file mode 100644 index 0000000..b807877 --- /dev/null +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/utils/HttpUtils.java @@ -0,0 +1,77 @@ +package com.bnyer.file.utils; + +import lombok.extern.slf4j.Slf4j; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.URL; +import java.net.URLConnection; + +/** + * @Author: qyh + * @Date: 2022-06-08-18:52 + * @Description: + */ +@Slf4j +public class HttpUtils { + /** + * 向指定 URL 发送POST方法的请求 + * + * @param url 发送请求的 URL + * @param param 请求参数 + * @return 所代表远程资源的响应结果 + */ + public static String sendPost(String url, String param) { + PrintWriter out = null; + BufferedReader in = null; + String result = ""; + try { + URL realUrl = new URL(url); + + log.info("post"+url+param); + // 打开和URL之间的连接 + URLConnection conn = realUrl.openConnection(); + // 设置通用的请求属性 + conn.setRequestProperty("content-type", "application/json"); + // 发送POST请求必须设置如下两行 + + conn.setDoOutput(true); + conn.setDoInput(true); + conn.setConnectTimeout(5000); + conn.setReadTimeout(5000); + // 获取URLConnection对象对应的输出流 + out = new PrintWriter(conn.getOutputStream()); + // 发送请求参数 + out.print(param); + // flush输出流的缓冲 + out.flush(); + // 定义BufferedReader输入流来读取URL的响应 + in = new BufferedReader( + new InputStreamReader(conn.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + log.info("发送 POST 请求出现异常!" + e); + e.printStackTrace(); + } + //使用finally块来关闭输出流、输入流 + finally { + try { + if (out != null) { + out.close(); + } + if (in != null) { + in.close(); + } + } catch (IOException ex) { + ex.printStackTrace(); + } + } + log.info(result); + return result; + } +} diff --git a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml index a1a9223..0fb93ff 100644 --- a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml +++ b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml @@ -22,3 +22,7 @@ qiniu: url: http://rd582ra2f.hd-bkt.clouddn.com/ bucketName: cyjd +tiktok: + appId: ttc408b2b55b364f6601 + secret: 58ac3ac54e7f9899cdc61a09d7f0a018b5049fd4 + grant_type: client_credential