springbootJava web

调用第三方接口实现照片美颜功能

2019-06-28  本文已影响0人  闲置的Programmer

1、找到一个合适的第三方平台,我们公司是用的相芯科技的美颜接口

2、进入该公司后台系统,打开该公司的API文档


image.png

3、按照第三方平台的文档进行接口调用,首先获取一个永久签名,他们提供了有一个获取签名的命令行工具,下面是要执行的命令,输入之后会给你返回你所要的签名


获取签名 命令行获取签名

4、之后就可以在代码中去调用接口实现美颜了。阅读文档可以看到,调用美颜接口之前,需要先获取一个token,提供获取token的接口所要的参数就是我们的key和获取的签名

image.png

5、然后我们在用刚刚获取的token和所需要的图片入参,进行照片美颜。


image.png

图片是必须form-data类型的参数,接口是https类型,返回的参数可以在API文档中进行查看。

6、美颜接口的参数是form-data的图片,如果是网络图片的话需要先保存在本地。然后通过访问本地路径的方式来进行传输,将图片保存在本地这种操作在服务器上也是可以操作的,比如在本地是F:\work,在服务器上就是 data/tomcat/faceimg,如果怕图片并发量大的话可以加上锁,美颜完后上传到分布式存储,就可以把本地的图片删掉了。

 // 删除指定文件夹下所有文件
        // param path 文件夹完整绝对路径
        public static boolean delAllFile(String path) {
            boolean flag = false;
            File file = new File(path);
            if (!file.exists()) {
                return flag;
            }
            if (!file.isDirectory()) {
                return flag;
            }
            String[] tempList = file.list();
            File temp = null;
            for (int i = 0; i < tempList.length; i++) {
                if (path.endsWith(File.separator)) {
                    temp = new File(path + tempList[i]);
                } else {
                    temp = new File(path + File.separator + tempList[i]);
                }
                if (temp.isFile()) {
                    temp.delete();
                }
                if (temp.isDirectory()) {
                    delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
                    flag = true;
                }
            }
            return flag;
        }

上一篇下一篇

猜你喜欢

热点阅读