summaryrefslogtreecommitdiffstats
path: root/apps/dav
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav')
-rw-r--r--apps/dav/lib/CardDAV/ImageExportPlugin.php3
-rw-r--r--apps/dav/lib/CardDAV/PhotoCache.php2
-rw-r--r--apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php6
3 files changed, 6 insertions, 5 deletions
diff --git a/apps/dav/lib/CardDAV/ImageExportPlugin.php b/apps/dav/lib/CardDAV/ImageExportPlugin.php
index 192c1e69ed1..fa4d5ea23f2 100644
--- a/apps/dav/lib/CardDAV/ImageExportPlugin.php
+++ b/apps/dav/lib/CardDAV/ImageExportPlugin.php
@@ -103,7 +103,8 @@ class ImageExportPlugin extends ServerPlugin {
try {
$file = $this->cache->get($addressbook->getResourceId(), $node->getName(), $size, $node);
$response->setHeader('Content-Type', $file->getMimeType());
- $response->setHeader('Content-Disposition', 'attachment');
+ $fileName = $node->getName() . '.' . PhotoCache::ALLOWED_CONTENT_TYPES[$file->getMimeType()];
+ $response->setHeader('Content-Disposition', "attachment; filename=$fileName");
$response->setStatus(200);
$response->setBody($file->getContent());
diff --git a/apps/dav/lib/CardDAV/PhotoCache.php b/apps/dav/lib/CardDAV/PhotoCache.php
index ca3853c76e6..6ea999444af 100644
--- a/apps/dav/lib/CardDAV/PhotoCache.php
+++ b/apps/dav/lib/CardDAV/PhotoCache.php
@@ -43,7 +43,7 @@ use Sabre\VObject\Reader;
class PhotoCache {
/** @var array */
- protected const ALLOWED_CONTENT_TYPES = [
+ public const ALLOWED_CONTENT_TYPES = [
'image/png' => 'png',
'image/jpeg' => 'jpg',
'image/gif' => 'gif',
diff --git a/apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php b/apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php
index c3698a24a78..c116a5ff775 100644
--- a/apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php
+++ b/apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php
@@ -166,7 +166,7 @@ class ImageExportPluginTest extends TestCase {
if ($photo) {
$file = $this->createMock(ISimpleFile::class);
$file->method('getMimeType')
- ->willReturn('imgtype');
+ ->willReturn('image/jpeg');
$file->method('getContent')
->willReturn('imgdata');
@@ -176,10 +176,10 @@ class ImageExportPluginTest extends TestCase {
$this->response->expects($this->at(3))
->method('setHeader')
- ->with('Content-Type', 'imgtype');
+ ->with('Content-Type', 'image/jpeg');
$this->response->expects($this->at(4))
->method('setHeader')
- ->with('Content-Disposition', 'attachment');
+ ->with('Content-Disposition', 'attachment; filename=card.jpg');
$this->response->expects($this->once())
->method('setStatus')