diff --git a/frontend/src/metadata/views/face-recognition/peoples/people/index.js b/frontend/src/metadata/views/face-recognition/peoples/people/index.js index 9d7bf76335..c5e1bc6b6d 100644 --- a/frontend/src/metadata/views/face-recognition/peoples/people/index.js +++ b/frontend/src/metadata/views/face-recognition/peoples/people/index.js @@ -12,7 +12,11 @@ const People = ({ haveFreezed, people, onOpenPeople, onRename, onFreezed, onUnFr const similarPhotoURL = useMemo(() => { const repoID = window.sfMetadataContext.getSetting('repoID'); - return `${siteRoot}thumbnail/${repoID}/${thumbnailDefaultSize}/_Internal/Faces/${people._id}.jpg`; + let photoURL = `${siteRoot}thumbnail/${repoID}/${thumbnailDefaultSize}/_Internal/Faces/${people._id}.jpg`; + if (people._name === '_Unknown_people') { + return photoURL; + } + return `${photoURL}?t=${people.file_mtime}`; }, [people]); const onImgLoadError = useCallback(() => { diff --git a/seahub/repo_metadata/apis.py b/seahub/repo_metadata/apis.py index f12ade2219..d6051b010d 100644 --- a/seahub/repo_metadata/apis.py +++ b/seahub/repo_metadata/apis.py @@ -1274,6 +1274,12 @@ class FacesRecords(APIView): faces_records = query_result.get('results', []) metadata_columns = query_result.get('metadata', []) + dirents = seafile_api.list_dir_by_path(repo_id, '/_Internal/Faces') + file_name_to_mtime_dict = {} + for dirent in dirents: + file_name, ext = os.path.splitext(dirent.obj_name) + file_name_to_mtime_dict[file_name] = dirent.mtime + valid_faces_records = [] for record in faces_records: @@ -1290,6 +1296,7 @@ class FacesRecords(APIView): FACES_TABLE.columns.name.name: record.get(FACES_TABLE.columns.name.name), FACES_TABLE.columns.photo_links.name: valid_photo_links, '_is_someone': record.get(FACES_TABLE.columns.name.name) != UNKNOWN_PEOPLE_NAME, + 'file_mtime': file_name_to_mtime_dict.get(record.get(FACES_TABLE.columns.id.name)) }) return Response({