安卓客户端自动备份照片偶尔会出错

请按照以下模版详细描述您遇到的问题:

当前服务器和客户端版本

Seafile pro 13.0.25

安卓客户端 4.0.9

手机系统 oppo coloros16 ,内核安卓16

操作过程(出现错误的操作步骤)

安卓客户端开启自动备份功能,选择相册

错误截图

原始照片1.77 MB (1,858,970 字节)

上传出错照片1.01 MB (1,063,639 字节)

原始照片1.93 MB (2,033,368 字节)

上传出错照片1.13 MB (1,187,069 字节)

错误日志

似乎安卓客户端从4.0版本开始,一直存在这个问题,偶尔会有照片上传不完整,图片大小明显也不一样,照片只能显示一半,难道备份文件没有校验机制吗,备份的文件多了也不可能每一张都去检查,作为一个数据备份的系统,让人很不放心。另外就是即便开启了后台备份,过几小时之后也就不会自动备份了,必须再次点开app才行,这可能是安卓16的限制导致的。

您好,请您在设置中导出日志并发送以便我们分析问题,具体位置在设置里最下面。

关于后台备份问题,请您打开app的自启动以及添加电池白名单以保活app。

日志文件太大,无法完全发上来,我搜索了一下这两张照片的名字,相关日志如下:

2026-08-03 00:31:10.573 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164524.jpg, because we have uploaded it in the past.
2026-08-03 00:31:10.573 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164502.jpg, because we have uploaded it in the past.

似乎这个日志并不是8月1日当天备份时的日志,而是3日的扫描日志。但是并没有1日的日志可以查询。另外关于自启动以及电池白名单,我一直都是开启了的,似乎也不管用。

新版本 Android 系统有非常严格前后台运行限制,即使加入了白名单,也不能保证 app 能够稳定且长时间在后台运行。
另外你可以试一下手动上传这张图片,看看依然发生问题:“标题栏 - 更多菜单 - 上传文件”

手动上传了一次,看起来并没有问题,图片显示正常,文件大小也正常,但是一验MD5,还是不对,到底哪里出了问题

这张照片是否是动态照片?如果是动态照片的话,app 会重新编码

不是的,就是普通照片

刚才又专门做了一个测试,问题很严重,手动上传的照片文件大小一样,可以正常显示,但是MD5全部不一致,而自动备份的照片MD5和原图一致,但随机会出现上传错误的情况,就如主题所说的那样。

这是手动上传文件的MD5对比

这是自动备份文件的MD5对比

手动上传和自动备份的数据读取方式不一样,手动上传是通过手机文件选择器提供的 SAF 相对路径,app 通过文件选择器返回的数据流读取到文件原始数据,但是文件选择器会过滤掉一些隐私数据,例如地理位置信息,这是不同厂商的系统特性。

相册备份的方式是 app 直接检索手机里媒体文件,读取文件原始数据并上传,所以不会丢掉任何数据(动态照片除外)。

至于照片上传不完整问题,由于我们无法复现,所以需要更多的技术细节来确定问题是怎么产生的,能否提供上传日志、原始文件、服务器日志什么的,以便我们排查问题。

我推测,有没有可能和网络有关?当网络通畅稳定时,照片可以稳定上传。如果上传过程中网络不稳定或者中断,就可能造成部分照片上传到一半后不完整的情况。外行不懂,仅供参考啊。

请问如果照片较大,上传了一半的照片网络中断(例如无线网信号差),再次联网后这个上传到一半的照片会重新上传吗?还是怎么处理?

发生这种问题的原因有很多方面,网络不稳定或中断、App 上传程序中断、上传请求提前结束等等导致上传数据缺失。

如果上传失败的情况下,下次会继续接着上传。如果网络不稳定或者什么导致上传数据缺失,但上传成功了则下次不会上传。
后续我们会完善校验文件完整性的算法。

故障复现,这次刚拍的照片,即时上传,总共三张,依然有一张照片上传出错,相关日志我复制下来了,照片本身并不大,网络也非常稳定,但还是出错了。同时安卓客户端也升级到了4.0.11,但是问题依旧。IMG20260803151128.jpg,这是照片名称。

2026-08-03 15:11:29.620 D/SLog: media store:newVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f, lastVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f
2026-08-03 15:11:29.620 D/SLog: A new file is detected and the Media task begins
2026-08-03 15:11:29.620 D/SLog: FileSyncService, onMediaContentObserver, isFullScan: false
2026-08-03 15:11:29.620 D/SLog: CameraUploadManager, performSyncByStatus()
2026-08-03 15:11:29.629 D/SLog: media store:newVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f, lastVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f
2026-08-03 15:11:29.629 D/SLog: A new file is detected and the Media task begins
2026-08-03 15:11:29.629 D/SLog: FileSyncService, onMediaContentObserver, isFullScan: false
2026-08-03 15:11:29.629 D/SLog: CameraUploadManager, performSyncByStatus()
2026-08-03 15:11:29.641 D/SLog: FileSyncService, onStart(), /storage/emulated/0/Android/media/com.seafile.seadroid2/Seafile
2026-08-03 15:11:29.650 D/SLog: media store:newVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f, lastVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f
2026-08-03 15:11:29.650 D/SLog: A new file is detected and the Media task begins
2026-08-03 15:11:29.650 D/SLog: FileSyncService, onMediaContentObserver, isFullScan: false
2026-08-03 15:11:29.650 D/SLog: CameraUploadManager, performSyncByStatus()
2026-08-03 15:11:29.655 D/SLog: FileSyncService, onStop()
2026-08-03 15:11:29.661 D/SLog: CameraSyncService, onCreate
2026-08-03 15:11:29.668 D/SLog: AlbumBackupAdapter, onPerformSync(), isFullScan = false
2026-08-03 15:11:30.178 D/SLog: AlbumBackupAdapterBridge, onReceive(), action: ACTION_SYNC_ALBUM_TASK
2026-08-03 15:11:30.178 D/SLog: BackupThreadExecutor, runAlbumBackupTask(), isFullScan: false
2026-08-03 15:11:30.189 E/SLog: Media-Backup-Thread-Scanner, 相册扫描器启动
2026-08-03 15:11:30.190 D/SLog: Media-Backup-Thread-Scanner, data plan is allowed, current network type: , NETWORK_WIFI
2026-08-03 15:11:30.190 D/SLog: Media-Backup-Thread-Scanner, doWork(), start scan
2026-08-03 15:11:30.191 D/SLog: RepoQuickFragment, on event: scanning, dataSource: ALBUM_BACKUP, total count:0
2026-08-03 15:11:30.539 D/SLog: AlbumScanHelper, loadImages(), images query count : 2294, read result: false
2026-08-03 15:11:30.555 D/SLog: AlbumScanHelper, iterateCursor(), new file → [wait for check] /storage/emulated/0/DCIM/Camera/IMG20260803151128.jpg
2026-08-03 15:11:30.556 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260803151118.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.557 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260803121759.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.557 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260803121745.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.559 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260802182629.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.560 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260802182542.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.560 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-08-01-23-35-36-02_2332cb9b27b851b548ba47a91682926c.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.563 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212640.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.565 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212616.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.566 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212547.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.567 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212448.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.568 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212242.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.569 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212237.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.569 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801170529.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.570 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801170522.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.570 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164537.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.571 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164524.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.571 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164502.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.572 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164440.jpg, because we have uploaded it in the past.
2026-08-03 15:11:30.572 D/SLog: media store:newVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f, lastVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f
2026-08-03 15:11:30.572 D/SLog: A new file is detected and the Media task begins
2026-08-03 15:11:30.572 D/SLog: FileSyncService, onMediaContentObserver, isFullScan: false
2026-08-03 15:11:30.572 D/SLog: CameraUploadManager, performSyncByStatus()
2026-08-03 15:11:30.580 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164426.jpg, because we have uploaded it in the past.

2026-08-03 15:11:31.434 I/SLog: [–> GET https://seafile服务器:8080/api/v2.1/repos/f9233526-33eb-46ec-a737-e76435ad141a/dir/?with_thumbnail=true&p=%2FMy%20Photos%2FCamera\\\]
2026-08-03 15:11:31.434 I/SLog: [Accept: application/json]
2026-08-03 15:11:31.434 I/SLog: [charset: utf-8]
2026-08-03 15:11:31.434 I/SLog: [timestamp: 1785741091433]
2026-08-03 15:11:31.434 I/SLog: [User-Agent: Seafile Android/3.0]
2026-08-03 15:11:31.434 I/SLog: [Authorization: Token 8e5c72b58e05e63c7405ea98d9c40798c2a52c64]
2026-08-03 15:11:31.434 I/SLog: [–> END GET]
2026-08-03 15:11:31.516 I/SLog: [ ← 200 https://seafile服务器:8080/api/v2.1/repos/f9233526-33eb-46ec-a737-e76435ad141a/dir/?with_thumbnail=true&p=%2FMy%20Photos%2FCamera (82ms)]
2026-08-03 15:11:31.517 I/SLog: [server: nginx]
2026-08-03 15:11:31.517 I/SLog: [date: Mon, 03 Aug 2026 07:11:31 GMT]
2026-08-03 15:11:31.517 I/SLog: [content-type: application/json]
2026-08-03 15:11:31.517 I/SLog: [allow: GET, POST, DELETE, HEAD, OPTIONS]
2026-08-03 15:11:31.517 I/SLog: [vary: Accept-Language, Cookie]
2026-08-03 15:11:31.517 I/SLog: [content-language: en]
2026-08-03 15:11:31.517 I/SLog: [strict-transport-security: max-age=31536000; includeSubDomains]
2026-08-03 15:11:31.517 I/SLog: [ ← END HTTP]
2026-08-03 15:11:31.579 D/SLog: AlbumScanHelper, checkAndInsert(), skip file → [remote exists] IMG20260803151118.jpg, because we have uploaded it in the past.
2026-08-03 15:11:31.583 D/SLog: RepoQuickFragment, on event: transfer_task_complete, dataSource: ALBUM_BACKUP, total count:1
2026-08-03 15:11:31.585 D/SLog: BackupThreadExecutor, runAlbumBackupTask(), scan success
2026-08-03 15:11:31.585 D/SLog: Media-Backup-Thread-Uploader, start upload
2026-08-03 15:11:31.585 D/SLog: RepoQuickFragment, on event: transfer_task_start, dataSource: ALBUM_BACKUP, total count:0
2026-08-03 15:11:31.585 E/SLog: Media-Backup-Thread-Uploader, data plan is allowed, current network type, NETWORK_WIFI
2026-08-03 15:11:31.585 E/SLog: Media-Backup-Thread-Uploader, pending count: 1
2026-08-03 15:11:31.585 D/SLog: Foreground-Thread-Uploader, transfer start, model:
2026-08-03 15:11:31.585 D/SLog: Foreground-Thread-Uploader, TransferModel{id=‘BBA9A301A982C3C209B6AFFCA968ACFA’, repo_id=‘f9233526-33eb-46ec-a737-e76435ad141a’, file_name=‘IMG20260803151128.jpg’, data_source=ALBUM_BACKUP, save_to=DB, full_path=‘/storage/emulated/0/DCIM/Camera/IMG20260803151128.jpg’}
2026-08-03 15:11:31.585 D/SLog: Foreground-Thread-Uploader, transferFile(), start transfer, local file path: /storage/emulated/0/DCIM/Camera/IMG20260803151128.jpg
2026-08-03 15:11:31.586 I/SLog: [–> GET https://seafile服务器:8080/api/v2.1/groups/?with_repos=0\\\]
2026-08-03 15:11:31.586 I/SLog: [Accept: application/json]
2026-08-03 15:11:31.586 I/SLog: [charset: utf-8]
2026-08-03 15:11:31.586 I/SLog: [timestamp: 1785741091586]
2026-08-03 15:11:31.586 I/SLog: [User-Agent: Seafile Android/3.0]
2026-08-03 15:11:31.586 I/SLog: [Authorization: Token 8e5c72b58e05e63c7405ea98d9c40798c2a52c64]
2026-08-03 15:11:31.586 I/SLog: [–> END GET]

这些日志是文件上传前的数据比较阶段,后续的日志可能会提供重要信息。可以找一下 “2026-08-03 15:11:31.586”之后的日志记录。

2026-08-03 15:11:31.618 E/SLog: MotionPhotoDetector, parseJpegXmpWithUri(), not a motion photo
2026-08-03 15:11:31.618 E/SLog: Foreground-Thread-Uploader, MotionPhotoDescriptor{MOTION_PHOTO_TYPE_NONE}
2026-08-03 15:11:31.618 D/SLog: FileUtils, read file create timestamp success., Mon Aug 03 15:11:28 GMT+08:00 2026
2026-08-03 15:11:31.619 D/SLog: RepoQuickFragment, on event: file_in_transfer, dataSource: ALBUM_BACKUP, total count:0
2026-08-03 15:11:31.620 I/SLog: [ ← 200 https://seafile服务器:8080/api/v2.1/groups/?with_repos=0 (33ms)]
2026-08-03 15:11:31.620 I/SLog: [server: nginx]
2026-08-03 15:11:31.620 I/SLog: [date: Mon, 03 Aug 2026 07:11:32 GMT]
2026-08-03 15:11:31.620 I/SLog: [content-type: application/json]
2026-08-03 15:11:31.620 I/SLog: [content-length: 2]
2026-08-03 15:11:31.620 I/SLog: [allow: GET, POST, HEAD, OPTIONS]
2026-08-03 15:11:31.620 I/SLog: [vary: Accept-Language, Cookie]
2026-08-03 15:11:31.620 I/SLog: [content-language: en]
2026-08-03 15:11:31.620 I/SLog: [strict-transport-security: max-age=31536000; includeSubDomains]
2026-08-03 15:11:31.620 I/SLog: [ ← END HTTP]
2026-08-03 15:11:31.625 D/SLog: Foreground-Thread-Uploader, getFileUploadUrl(), target_dir: /My Photos/Camera/, isUpdate: false
2026-08-03 15:11:31.625 I/SLog: [–> GET https://seafile服务器:8080/api/v2.1/repos/\\\]
2026-08-03 15:11:31.625 I/SLog: [Accept: application/json]
2026-08-03 15:11:31.625 I/SLog: [charset: utf-8]
2026-08-03 15:11:31.625 I/SLog: [timestamp: 1785741091622]
2026-08-03 15:11:31.625 I/SLog: [User-Agent: Seafile Android/3.0]
2026-08-03 15:11:31.625 I/SLog: [Authorization: Token 8e5c72b58e05e63c7405ea98d9c40798c2a52c64]
2026-08-03 15:11:31.625 I/SLog: [–> END GET]
2026-08-03 15:11:31.625 I/SLog: [–> GET https://seafile服务器:8080/api2/repos/f9233526-33eb-46ec-a737-e76435ad141a/upload-link/?p=%2F\\\]
2026-08-03 15:11:31.625 I/SLog: [Accept: application/json]
2026-08-03 15:11:31.625 I/SLog: [charset: utf-8]
2026-08-03 15:11:31.625 I/SLog: [timestamp: 1785741091623]
2026-08-03 15:11:31.625 I/SLog: [User-Agent: Seafile Android/3.0]
2026-08-03 15:11:31.625 I/SLog: [Authorization: Token 8e5c72b58e05e63c7405ea98d9c40798c2a52c64]
2026-08-03 15:11:31.625 I/SLog: [–> END GET]
2026-08-03 15:11:31.694 I/SLog: [ ← 200 https://seafile服务器:8080/api/v2.1/repos/ (71ms)]
2026-08-03 15:11:31.695 I/SLog: [server: nginx]
2026-08-03 15:11:31.695 I/SLog: [date: Mon, 03 Aug 2026 07:11:32 GMT]
2026-08-03 15:11:31.695 I/SLog: [content-type: application/json]
2026-08-03 15:11:31.695 I/SLog: [allow: GET, HEAD, OPTIONS]
2026-08-03 15:11:31.695 I/SLog: [vary: Accept-Language, Cookie]
2026-08-03 15:11:31.695 I/SLog: [content-language: en]
2026-08-03 15:11:31.695 I/SLog: [strict-transport-security: max-age=31536000; includeSubDomains]
2026-08-03 15:11:31.695 I/SLog: [ ← END HTTP]
2026-08-03 15:11:31.701 I/SLog: [ ← 200 https://seafile服务器:8080/api2/repos/f9233526-33eb-46ec-a737-e76435ad141a/upload-link/?p=%2F (77ms)]
2026-08-03 15:11:31.701 I/SLog: [server: nginx]
2026-08-03 15:11:31.701 I/SLog: [date: Mon, 03 Aug 2026 07:11:32 GMT]
2026-08-03 15:11:31.701 I/SLog: [content-type: application/json]
2026-08-03 15:11:31.701 I/SLog: [allow: GET, HEAD, OPTIONS]
2026-08-03 15:11:31.701 I/SLog: [vary: Accept-Language, Cookie]
2026-08-03 15:11:31.701 I/SLog: [content-language: en]
2026-08-03 15:11:31.701 I/SLog: [strict-transport-security: max-age=31536000; includeSubDomains]
2026-08-03 15:11:31.701 I/SLog: [ ← END HTTP]
2026-08-03 15:11:31.701 D/SLog: Foreground-Thread-Uploader, transferFile(), no chunked
2026-08-03 15:11:31.730 D/SLog: Foreground-Thread-Uploader, uploadSingleChunk(), start transfer chunk, offset: 0 remote path: /My Photos/Camera/IMG20260803151128.jpg
2026-08-03 15:11:31.735 D/SLog: Foreground-Thread-Uploader, file create time: 2026-08-03T15:11:28+08:00
2026-08-03 15:11:31.737 D/SLog: Foreground-Thread-Uploader, upload content-Type: multipart/form-data; boundary=f9e874bf-8b05-4ff4-845a-20b83b56677a
2026-08-03 15:11:31.737 D/SLog: Foreground-Thread-Uploader, upload url: https://seafile服务器:8080/seafhttp/upload-api/00439202-654b-48b5-9ff7-9de91b09f945
2026-08-03 15:11:31.737 D/SLog: Foreground-Thread-Uploader, upload headers: Connection: keep-alive
User-Agent: Seafile Android/3.0

2026-08-03 15:11:31.742 I/SLog: [–> POST https://seafile服务器:8080/seafhttp/upload-api/00439202-654b-48b5-9ff7-9de91b09f945\\\]
2026-08-03 15:11:31.742 I/SLog: [Content-Type: multipart/form-data; boundary=f9e874bf-8b05-4ff4-845a-20b83b56677a]
2026-08-03 15:11:31.742 I/SLog: [Content-Length: 1918095]
2026-08-03 15:11:31.742 I/SLog: [Connection: keep-alive]
2026-08-03 15:11:31.742 I/SLog: [User-Agent: Seafile Android/3.0]
2026-08-03 15:11:31.742 I/SLog: [Accept: application/json]
2026-08-03 15:11:31.742 I/SLog: [charset: utf-8]
2026-08-03 15:11:31.742 I/SLog: [timestamp: 1785741091742]
2026-08-03 15:11:31.742 I/SLog: [User-Agent: Seafile Android/3.0]
2026-08-03 15:11:31.742 I/SLog: [Authorization: Token 8e5c72b58e05e63c7405ea98d9c40798c2a52c64]
2026-08-03 15:11:31.742 I/SLog: [–> END POST]
2026-08-03 15:11:31.937 D/SLog: Foreground-Thread-Uploader, onProgressNotify(), UPLOAD: IMG20260803151128.jpg → progress:54
2026-08-03 15:11:31.937 D/SLog: RepoQuickFragment, on event: file_in_transfer, dataSource: ALBUM_BACKUP, total count:0
2026-08-03 15:11:32.033 I/SLog: [ ← 200 https://seafile服务器:8080/seafhttp/upload-api/00439202-654b-48b5-9ff7-9de91b09f945 (289ms)]
2026-08-03 15:11:32.033 I/SLog: [server: nginx]
2026-08-03 15:11:32.036 I/SLog: [date: Mon, 03 Aug 2026 07:11:32 GMT]
2026-08-03 15:11:32.036 I/SLog: [content-type: text/plain; charset=utf-8]
2026-08-03 15:11:32.036 I/SLog: [access-control-allow-headers: x-requested-with, content-type, content-range, content-disposition, accept, origin, authorization]
2026-08-03 15:11:32.036 I/SLog: [access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, OPTIONS]
2026-08-03 15:11:32.036 I/SLog: [access-control-allow-origin: *]
2026-08-03 15:11:32.036 I/SLog: [access-control-max-age: 86400]
2026-08-03 15:11:32.036 I/SLog: [strict-transport-security: max-age=31536000; includeSubDomains]
2026-08-03 15:11:32.036 I/SLog: [ ← END HTTP]
2026-08-03 15:11:32.036 D/SLog: Foreground-Thread-Uploader, onRes(), response code: 200, protocol: h2
2026-08-03 15:11:32.036 D/SLog: Foreground-Thread-Uploader, req-header: Connection: keep-alive
2026-08-03 15:11:32.036 D/SLog: Foreground-Thread-Uploader, req-header: User-Agent: Seafile Android/3.0
2026-08-03 15:11:32.036 D/SLog: Foreground-Thread-Uploader, req-header: Accept: application/json
2026-08-03 15:11:32.036 D/SLog: Foreground-Thread-Uploader, req-header: charset: utf-8
2026-08-03 15:11:32.036 D/SLog: Foreground-Thread-Uploader, req-header: timestamp: 1785741091742
2026-08-03 15:11:32.036 D/SLog: Foreground-Thread-Uploader, req-header: User-Agent: Seafile Android/3.0
2026-08-03 15:11:32.036 D/SLog: Foreground-Thread-Uploader, req-header: Authorization: [REDACTED]
2026-08-03 15:11:32.037 D/SLog: Foreground-Thread-Uploader, res-header: server: nginx
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, res-header: date: Mon, 03 Aug 2026 07:11:32 GMT
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, res-header: content-type: text/plain; charset=utf-8
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, res-header: access-control-allow-headers: x-requested-with, content-type, content-range, content-disposition, accept, origin, authorization
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, res-header: access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, res-header: access-control-allow-origin: *
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, res-header: access-control-max-age: 86400
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, res-header: strict-transport-security: max-age=31536000; includeSubDomains
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, transferFile(), result body: ae187290cdaaa96cb665c3383e1d9582f85fa1ce
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, transferFile(), parsed file ID: ae187290cdaaa96cb665c3383e1d9582f85fa1ce
2026-08-03 15:11:32.039 D/SLog: Foreground-Thread-Uploader, transferFile(), reset newCall object
2026-08-03 15:11:32.039 D/SLog: RepoQuickFragment, on event: file_transfer_success, dataSource: ALBUM_BACKUP, total count:0
2026-08-03 15:11:32.039 D/SLog: Media-Backup-Thread-Uploader, all completed
2026-08-03 15:11:32.043 D/SLog: RepoQuickFragment, on event: transfer_task_complete, dataSource: ALBUM_BACKUP, total count:1
2026-08-03 15:11:32.045 D/SLog: BackupThreadExecutor, runAlbumBackupTask(), backup complete
2026-08-03 15:11:32.045 E/SLog: BackupThreadExecutor, all task complete
2026-08-03 15:11:32.046 I/SLog: [–> GET https://seafile服务器:8080/api/v2.1/groups/?with_repos=0\\\]
2026-08-03 15:11:32.046 I/SLog: [Accept: application/json]
2026-08-03 15:11:32.046 I/SLog: [charset: utf-8]
2026-08-03 15:11:32.046 I/SLog: [timestamp: 1785741092045]
2026-08-03 15:11:32.046 I/SLog: [User-Agent: Seafile Android/3.0]
2026-08-03 15:11:32.046 I/SLog: [Authorization: Token 8e5c72b58e05e63c7405ea98d9c40798c2a52c64]
2026-08-03 15:11:32.046 I/SLog: [–> END GET]
2026-08-03 15:11:32.072 I/SLog: [ ← 200 https://seafile服务器:8080/api/v2.1/groups/?with_repos=0 (25ms)]
2026-08-03 15:11:32.072 I/SLog: [server: nginx]
2026-08-03 15:11:32.073 I/SLog: [date: Mon, 03 Aug 2026 07:11:32 GMT]
2026-08-03 15:11:32.073 I/SLog: [content-type: application/json]
2026-08-03 15:11:32.075 I/SLog: [content-length: 2]
2026-08-03 15:11:32.076 I/SLog: [allow: GET, POST, HEAD, OPTIONS]
2026-08-03 15:11:32.076 I/SLog: [vary: Accept-Language, Cookie]
2026-08-03 15:11:32.076 I/SLog: [content-language: en]
2026-08-03 15:11:32.076 I/SLog: [strict-transport-security: max-age=31536000; includeSubDomains]
2026-08-03 15:11:32.076 I/SLog: [ ← END HTTP]
2026-08-03 15:11:32.076 I/SLog: [–> GET https://seafile服务器:8080/api/v2.1/repos/\\\]
2026-08-03 15:11:32.076 I/SLog: [Accept: application/json]
2026-08-03 15:11:32.076 I/SLog: [charset: utf-8]
2026-08-03 15:11:32.076 I/SLog: [timestamp: 1785741092074]
2026-08-03 15:11:32.076 I/SLog: [User-Agent: Seafile Android/3.0]
2026-08-03 15:11:32.076 I/SLog: [Authorization: Token 8e5c72b58e05e63c7405ea98d9c40798c2a52c64]
2026-08-03 15:11:32.076 I/SLog: [–> END GET]
2026-08-03 15:11:32.125 I/SLog: [ ← 200 https://seafile服务器:8080/api/v2.1/repos/ (51ms)]
2026-08-03 15:11:32.125 I/SLog: [server: nginx]
2026-08-03 15:11:32.125 I/SLog: [date: Mon, 03 Aug 2026 07:11:32 GMT]
2026-08-03 15:11:32.125 I/SLog: [content-type: application/json]
2026-08-03 15:11:32.125 I/SLog: [allow: GET, HEAD, OPTIONS]
2026-08-03 15:11:32.125 I/SLog: [vary: Accept-Language, Cookie]
2026-08-03 15:11:32.125 I/SLog: [content-language: en]
2026-08-03 15:11:32.126 I/SLog: [strict-transport-security: max-age=31536000; includeSubDomains]
2026-08-03 15:11:32.126 I/SLog: [ ← END HTTP]
2026-08-03 15:11:33.360 D/SLog: media store:newVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f, lastVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f
2026-08-03 15:11:33.360 D/SLog: A new file is detected and the Media task begins
2026-08-03 15:11:33.360 D/SLog: FileSyncService, onMediaContentObserver, isFullScan: false
2026-08-03 15:11:33.360 D/SLog: CameraUploadManager, performSyncByStatus()
2026-08-03 15:11:33.372 D/SLog: CameraSyncService, onCreate
2026-08-03 15:11:33.374 D/SLog: AlbumBackupAdapter, onPerformSync(), isFullScan = false
2026-08-03 15:11:33.574 D/SLog: media store:newVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f, lastVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f
2026-08-03 15:11:33.574 D/SLog: A new file is detected and the Media task begins
2026-08-03 15:11:33.574 D/SLog: FileSyncService, onMediaContentObserver, isFullScan: false
2026-08-03 15:11:33.574 D/SLog: CameraUploadManager, performSyncByStatus()
2026-08-03 15:11:33.587 D/SLog: media store:newVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f, lastVersion → 1506:d9291469-30c8-40de-83a3-5860c000338f
2026-08-03 15:11:33.587 D/SLog: A new file is detected and the Media task begins
2026-08-03 15:11:33.587 D/SLog: FileSyncService, onMediaContentObserver, isFullScan: false
2026-08-03 15:11:33.587 D/SLog: CameraUploadManager, performSyncByStatus()
2026-08-03 15:11:33.588 D/SLog: CameraSyncService, onCreate
2026-08-03 15:11:33.589 D/SLog: AlbumBackupAdapter, onPerformSync(), isFullScan = false
2026-08-03 15:11:33.875 D/SLog: AlbumBackupAdapterBridge, onReceive(), action: ACTION_SYNC_ALBUM_TASK
2026-08-03 15:11:33.875 D/SLog: BackupThreadExecutor, runAlbumBackupTask(), isFullScan: false
2026-08-03 15:11:33.876 D/SLog: AlbumBackupAdapterBridge, onReceive(), action: ACTION_SYNC_ALBUM_TASK
2026-08-03 15:11:33.876 D/SLog: BackupThreadExecutor, runAlbumBackupTask(), isFullScan: false
2026-08-03 15:11:33.876 E/SLog: BackupThreadExecutor, album backup task is running, please wait

这些够吗,日志太多了,后边还有很多,贴不下

可以了,我研究一下日志

这是紧接着刚才的日志,不知道是否有用,也一并贴上来,看样子像是扫描文件,应该没什么

2026-08-03 15:11:33.877 E/SLog: Media-Backup-Thread-Scanner, 相册扫描器启动
2026-08-03 15:11:33.881 D/SLog: Media-Backup-Thread-Scanner, data plan is allowed, current network type: , NETWORK_WIFI
2026-08-03 15:11:33.881 D/SLog: Media-Backup-Thread-Scanner, doWork(), start scan
2026-08-03 15:11:33.881 D/SLog: RepoQuickFragment, on event: scanning, dataSource: ALBUM_BACKUP, total count:0
2026-08-03 15:11:33.956 D/SLog: AlbumScanHelper, loadImages(), images query count : 2295, read result: false
2026-08-03 15:11:33.966 D/SLog: AlbumScanHelper, iterateCursor(), new file → [wait for check] /storage/emulated/0/DCIM/Camera/IMG20260803151133.jpg
2026-08-03 15:11:33.968 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260803151128.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.969 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260803151118.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.970 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260803121759.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.971 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260803121745.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.972 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260802182629.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.973 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260802182542.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.974 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-08-01-23-35-36-02_2332cb9b27b851b548ba47a91682926c.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.975 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212640.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.977 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212616.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.978 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212547.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.979 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212448.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.980 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212242.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.981 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801212237.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.982 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801170529.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.983 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801170522.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.984 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164537.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.986 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164524.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.987 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164502.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.988 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164440.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.989 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801164426.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.990 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-08-01-16-40-30-57_0ba066473b79d6e213a1f6f52505e2ee.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.991 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-08-01-16-20-20-91_0ba066473b79d6e213a1f6f52505e2ee.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.992 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801094222.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.993 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801094220.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.994 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801094216.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.995 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801094212.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.997 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801093433.jpg, because we have uploaded it in the past.
2026-08-03 15:11:33.999 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801093421.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.000 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801091933.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.002 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801091746.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.003 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801091533.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.004 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260801091516.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.005 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-31-23-30-20-30_2332cb9b27b851b548ba47a91682926c.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.006 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-31-23-09-29-42_2332cb9b27b851b548ba47a91682926c.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.007 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-31-13-31-03-78_a3aef48b92d9927bcc00b64ec0b65b97.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.009 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260731122746.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.011 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260731122740.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.013 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260731122723.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.015 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260731122710.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.016 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-30-12-19-37-45_c8945d51bb90ad2c514b4fb25053955e.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.017 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260729212819.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.019 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260727181233.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.021 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260727181227.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.022 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260726193926.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.023 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260726104324.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.024 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260726104245.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.025 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260726104157.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.026 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260726104133.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.027 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260726104124.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.028 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725214259.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.030 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725214209.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.031 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725214015.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.034 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725213857.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.035 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725213843.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.036 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725213354.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.037 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725212714.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.038 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725212620.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.039 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725212337.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.040 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725211128.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.041 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725210459.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.042 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725210451.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.043 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725210448.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.044 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725210444.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.045 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725201212.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.046 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725201143.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.047 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725201112.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.049 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725193058.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.051 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725193041.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.052 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725193027.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.053 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725193023.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.054 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725193000.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.055 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260725185636.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.056 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260724201636.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.057 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260724201408.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.058 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260724201356.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.059 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260724201347.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.060 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260724180556.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.062 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260724161629.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.066 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-24-15-58-57-38_2332cb9b27b851b548ba47a91682926c.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.067 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-24-15-57-21-41_6e923b4d5eb364e1bb028965cb2fd212.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.067 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260724144001.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.068 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-23-23-26-33-72_2332cb9b27b851b548ba47a91682926c.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.069 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-23-23-18-23-09_2332cb9b27b851b548ba47a91682926c.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.070 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/Pictures/Screenshots/Screenshot_2026-07-23-23-14-40-74_2332cb9b27b851b548ba47a91682926c.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.071 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260723125121.jpg, because we have uploaded it in the past.
2026-08-03 15:11:34.072 D/SLog: AlbumScanHelper, iterateCursor(), skip file → [local exists] /storage/emulated/0/DCIM/Camera/IMG20260723125047.jpg, because we have uploaded it in the past.

贴的这张异常的IMG20260803151128.jpg是服务器里的异常原图吗?能否发一个那张异常的原图?

我发的是从服务器同步到电脑上出错的图,也就是seafile认为备份完成的那个图,不是手机直接拍的原图,另外在这边怎么发原图?我直接点的上传图片,发到这里的