Appearance
部署EXIF工具
EXIF
:Exchangeable image file format(可交换图像文件格式)
,是专门为数码相机的照片设定的文件格式,可以记录数码照片的属性信息和拍摄数据。部署本工具后,可以解析并返回图片中的exif
信息
1.创建配置文件
特别说明
注意:务必使用正确的json格式,否则服务无法启动!
创建文件
bash
# 创建文件
mkdir /etc/hzy
cd /etc/hzy
vim exif.json
文件内容示例
特别说明
这里是示例参数!请替换为真实的参数,并检查JSON格式是否正确
这里是示例参数!请替换为真实的参数,并检查JSON格式是否正确
这里是示例参数!请替换为真实的参数,并检查JSON格式是否正确
json
{
"HTTP_PORT": 8080,
"WHITE_IPS": ["192.168.151.1", "192.168.151.2"],
}
参数说明
bash
# 参数说明
HTTP_PORT # 【必填】http协议端口号
WHITE_IPS # 【可选】ip白名单,仅在白名单内的ip被允许访问(不配置则允许所有ip访问)
2.运行EXIF服务
启动服务
注意
必须使用 --network host 模式启动容器,否则无法获取到客户端ip,ip白名单无法生效
bash
docker run --privileged -e TZ=Asia/Shanghai -itd --restart always --network host -v /etc/hzy:/root/conf registry.cn-hangzhou.aliyuncs.com/hzy0code/hzy-utils:exif.x86.1.0.0
重启服务
注意
修改了配置文件后,需要使用以下命令重启服务
[CONTAINER ID]
表示容器ID,使用docker ps
命令可以查看容器ID
示例:
bash
docker restart [CONTAINER ID]
3.发送解析图片属性请求
接口描述
- 方法: POST
- URL:/parse_exif
- 参数
- picUrl:图片地址(必须以http开头)
- fields:需要返回的属性字段(详细见fields描述)
- 返回:成功返回
fields
指定的信息
fields参数
fields
一共包含以下几类:
- image: (图像)包含实际图像数据,即拍摄的照片或图像文件本身
- thumbnail: (缩略图)通常用于显示图像的小尺寸版本,用于快速预览或显示图库中的图像
- exif: (图像元数据)包含图像的元数据信息,例如相机型号、拍摄时间、光圈、快门速度等
- gps: (位置信息)包含有关拍摄地点的经纬度信息
- interoperability: (互操作性)包含与不同设备和软件之间交换数据有关的信息
- makernote: (制造商注释):包含由相机制造商定义的特定于制造商的信息
请求示例
解析照片信息,并返回完整gps、image信息
POST http://192.168.123.1/parse_exif
json
{
"picUrl": "https://aliyuncs.com/DJI_20240906114514_0002.JPG",
"fields": ["gps", "image"]
}