<br />
<br />
写在前文
我的也是,第一次迁入飞牛,发现很多照片没有拍摄日期,然后很多图片都集中在了当天.
尝试如下方式:
- linux创建日期没有办法修改,该方法抛弃
- 修改更新时间和访问时间,仍然无效,该方法抛弃
- (创建时间,更新时间,最后访问时间都是) 均不太对
解决思路
目前推测和已经确定的条件如下
- 综上推测飞牛的逻辑应该是:拍摄日期>创建日期.
- 按照飞牛官方的文档,媒体文件使用exiftool更新元数据(DateTimeOriginal)
根据如上推测简单测试更新拍摄时间,发现(图片,视频)均可行
exiftool "-DateTimeOriginal=2018:01:01 00:00:00" -overwrite_original "文件全路径"
然后我的照片库文件多以如下文件名格式居多
- 文件中含有明显日期标识的,例如(2012-01-01-01-01-01.jpg)
- 文件中含有明显时间戳的,例如(10,13,17位时间戳)
综上所述,想出如下可行性方案:
- 对用户下Photos文件夹进行迭代
- 提取已有的拍摄日期和文件名中的日期
- 如果拍摄日期为空 的时候 以文件名日期作为拍摄日期
- 拍摄日期不为空,则和文件名中的日期对比,相差一个月以上 以文件名日期作为拍摄日期
- 如果拍摄日期和文件名日期均为空 则不更新拍摄日期
- 如果文件名日期为空 则不更新拍摄日期
动手解决(待更新)
运行环境:
- jdk17(使用如下命令安装)
- exiftool(飞牛系统自带)
apt install openjdk-17-jdk
运行:
- 链接: https://pan.baidu.com/s/1ML0kPi46AJCg7uHIlwg6ig?pwd=ynjp 提取码: ynjp 复制这段内容后打开百度网盘手机App,操作更方便哦
- 上传文件到服务器
- 使用如下命令运行服务,需要放行8080端口
java "-Dspring.profiles.active=test" -jar toolsboot-1.0.0.jar
更新文件:
- 打开http://XXX.XXX.XXX.XXX:8080/doc.html 地址
- 点开 文件工具 目录
- 点击右侧调试
- 点击 请求头部 ,microskytoken 右方填写 "test"
- 点击 请求参数, path 右边填写 照片目录
- 点击发送,等待更新完毕(查看终端打印) 重新扫描照片库
一些截图



|