不同的程序,对EXIF的取值也是不同。以拍摄时间为例:

华为手机拍照的EXIF,里面的时间,是这几个字段,值相同:
IMG_20221016_181142.jpg

DateTime = 2022:10:16 18:11:43
DateTimeOriginal = 2022:10:16 18:11:43
DateTimeDigitized = 2022:10:16 18:11:43

小米只有这两个字段:
IMG_20120826_220137.jpg

DateTimeOriginal = 2012:08:26 22:01:35
DateTimeDigitized = 2002:12:08 12:00:00

三星跟华为一样,三个字段但是值一样:
20130705_181734.jpg

DateTime = 2013:07:05 18:17:34
DateTimeOriginal = 2013:07:05 18:17:34
DateTimeDigitized = 2013:07:05 18:17:34

苹果也是一样的,三个字段但是值一样:
IMG_0238.JPG

DateTime = 2013:07:20 10:48:02
DateTimeOriginal = 2013:07:20 10:48:02
DateTimeDigitized = 2013:07:20 10:48:02

nextcloud的插件memories里面获取EXIF时间的代码如下:

    public static function parseExifDate(array $exif): \DateTime
    {
        // Get date from exif
        $exifDate = $exif['SubSecDateTimeOriginal'] ?? $exif['DateTimeOriginal'] ?? $exif['CreateDate'] ?? null;

可以看到这几个里面唯一重合的,就一个DateTimeOriginal。
至于什么SubSecDateTimeOriginal和CreateDate,根本没见过,咱也不知道哪来的这些信息。
后续往照片里,写EXIF时间信息的时候,只写这一个字段就得了。

把文件直接上传到用户目录下,但是在nextcloud并不能识别,看不到。因为没建索引,没入库。
重新扫描下就行了。
用户名
dockerming
occ的位置
要指定好。

文件扫描,重建索引

/usr/bin/docker exec --user www-data MyNextCloud php -f /var/www/html/occ files:scan --all

启用了memories插件的,重新建一遍索引。

/usr/bin/docker exec --user www-data MyNextCloud php -f /var/www/html/occ memories:index

插件安装http://NAS_URL/settings/apps/installed/memories

启用了Preview Generator插件的,重新建一遍索引。

/usr/bin/docker exec --user www-data MyNextCloud php -f /var/www/html/occ preview:pre-generate -vvv
/usr/bin/docker exec --user www-data MyNextCloud php -f /var/www/html/occ preview:generate-all -vvv

插件安装http://NAS_URL/settings/apps/installed/previewgenerator

默认显示都出来了。
Apache/2.4.54 (Debian)

直接进docker
docker exec -it nextcloud bash
因为docker里面没有vi,直接用sed来替换
sed -i 's/ServerTokens OS/ServerTokens Prod/g' /etc/apache2/conf-available/security.conf
apachectl -k graceful

这下只显示Apache了。

报错是:

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>Sabre\DAV\Exception</s:exception>
  <s:message>Failed to rename /xiaomi/DCIM/Camera/IMG_XXXX.JPEG to /xiaomi/DCIM/Camera/IMG_XXX.jpg</s:message>
</d:error>

其实是目录权限的问题。
上服务器chown -R www-data:www-data /XXXXX/xiaomi/就好了/