Contact pictures gone with upgrade to 19.0.4


I am upgraded to NC 19.0.4 and now nearly all contact pictures are gone.
In the scoll down list there are only Letters e.g. “JD” like “John Doe”.
When clicking on a contact --> In the right details view there is only a blank white picture.

I am also syncing contacts with Thunderbird. There, all the pictures are available.
Any idea how to solve?

Thank you in advance.

I have upgraded to 19.0.4 a while ago and have not had this problem.
I also synchronise with Thunderbird.

Do you have more information?
What version did you have before the upgrade, 19.0.3?
What does your log say?

Yes, 19.0.3 before.
What log do you mean exactly? Where can I find them?

Under Settings : Logging
Search for logs around the time you did the update.
Maybe one will help you find the issue with the contacts app.

Unfortunately I cannot find any hints in the logging section.

Edit: Forget, what I just wrote, here is something interesting that I am not able to interprete:

[webdav] Fatal: OCP\Files\NotPermittedException: Could not create path at <>

  1. /var/www/nextcloud/lib/private/Files/SimpleFS/SimpleFolder.php line 90
    OC\Files\Node\Folder->newFile(“nophoto”, “”)
  2. /var/www/nextcloud/apps/dav/lib/CardDAV/PhotoCache.php line 113
    OC\Files\SimpleFS\SimpleFolder->newFile(“nophoto”, “”)
  3. /var/www/nextcloud/apps/dav/lib/CardDAV/PhotoCache.php line 82
    OCA\DAV\CardDAV\PhotoCache->init(OC\Files\SimpleFS\SimpleFolder {}, Sabre\CardDAV\Card {})
  4. /var/www/nextcloud/apps/dav/lib/CardDAV/ImageExportPlugin.php line 104
    OCA\DAV\CardDAV\PhotoCache->get(“3”, “BC26D7F6-2DBC-4 … f”, -1, Sabre\CardDAV\Card {})
  5. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
    OCA\DAV\CardDAV\ImageExportPlugin->httpGet(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
  6. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 474
    Sabre\DAV\Server->emit(“method:GET”, [Sabre\HTTP\Requ … }])
  7. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 251
    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
  8. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 319
  9. /var/www/nextcloud/apps/dav/lib/Server.php line 320
  10. /var/www/nextcloud/apps/dav/appinfo/v2/remote.php line 35
  11. /var/www/nextcloud/remote.php line 167
    require_once("/var/www/nextcl … p")

GET /remote.php/dav/addressbooks/users/XXX/contacts/BC26D7F6-2DBC-4199-B757-D22CB85DDFC8.vcf?photo
from by XXX at 2020-10-27T12:45:06+00:00

1 Like

You should probably check the permissions of your files.
Is www-data the owner?

Yes, www-data is owner of /var/www/nextcloud/

Maybe try this out…

Not sure, if this is same case. I tried to run the occ commands. No fix so far. Since I have an entry in my config.php concerning data directory I think this is some different case. Before raising this post here, I searched for existing solutions and already stumbled upont the linked post. Nonetheless thanks for sharing.
Any further ideas?

I’m sorry, but i don’t.
Maybe restart the services from your server, or do a full reboot…

Did it. Nothing changed. Still no pictures.

I think this problem is related to Thunderbird. Opening picture location of Thunderbird shows a file name XXX.-jpeg. So pictures can not be displayed in Windows due to the additional “-” in file extention. When removing the “-” and adding it to Nextcloud contact and syncing with Thunderbird it is the other way round. Then pictures are not displayed in Thunderbird, but in Nextcloud.

But how to solve??? I have no clue.

This here could be related.

Hello Aircan,

I have no problems with pictures showing in thunderbird on windows and at the same time in nextcloud.
For thunderbird 78.4.0 (32-bit) i use the following add-ons for syncing contacts and calendar:

  • TbSync 2.18
  • Provider for CalDAV & CardDAV 1.21
  • Category Manager 4.0

I have no - in the filename of the extention…

You mean by right clicking the picture and then “copy image location”. Pasting that to Explorer and browse the according folder?

I am also using TB 78.4.0 and for syncing I use CardBook 52.5.

That is exactly what I have done with CardBook.
What vCard version is the way to go?
The screenshot depicts v3.0.
Is v4.0 also supported? Which version is used in NC? I tried to find that in doumentation, but did not succeed.

I experienced the same problem today, with 19.0.4 and the 2.6.2 nextcloud client. The server logs show this stack trace:

[webdav] Fatal: OCP\Files\NotPermittedException: Could not create path at <<closure>>

 0. /var/www/html/lib/private/Files/SimpleFS/SimpleFolder.php line 90
    OC\Files\Node\Folder->newFile("nophoto", "")
 1. /var/www/html/apps/dav/lib/CardDAV/PhotoCache.php line 113
    OC\Files\SimpleFS\SimpleFolder->newFile("nophoto", "")
 2. /var/www/html/apps/dav/lib/CardDAV/PhotoCache.php line 82
    OCA\DAV\CardDAV\PhotoCache->init(OC\Files\SimpleFS\SimpleFolder {}, Sabre\CardDAV\Card {})
 3. /var/www/html/apps/dav/lib/CardDAV/ImageExportPlugin.php line 104
    OCA\DAV\CardDAV\PhotoCache->get("20", "2a8b94a679d4bc9 ... f", -1, Sabre\CardDAV\Card {})
 4. /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
    OCA\DAV\CardDAV\ImageExportPlugin->httpGet(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
 5. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 474
    Sabre\DAV\Server->emit("method:GET", [Sabre\HTTP\Requ ... }])
 6. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 251
    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
 7. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 319
 8. /var/www/html/apps/dav/lib/Server.php line 320
 9. /var/www/html/apps/dav/appinfo/v2/remote.php line 35
10. /var/www/html/remote.php line 167
    require_once("/var/www/html/a ... p")

GET /remote.php/dav/addressbooks/users/LoicDachary/mla_shared_by_MLA/2a8b94a679d4bc9abbcbae5ccfb0c5fb0d091ba8.vcf?photo

are you using the recommended method from: