Browse Source

fix reference preview endpoint when no server-side cache configured

Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
tags/v26.0.0beta1
Julien Veyssier 1 year ago
parent
commit
6e03d99ab8
No account linked to committer's email address
1 changed files with 7 additions and 4 deletions
  1. 7
    4
      core/Controller/ReferenceController.php

+ 7
- 4
core/Controller/ReferenceController.php View File

@@ -48,18 +48,21 @@ class ReferenceController extends Controller {
/**
* @PublicPage
* @NoCSRFRequired
* @param string $referenceId the reference cache key
* @return Response
*/
public function preview(string $referenceId): Response {
$reference = $this->referenceManager->getReferenceByCacheKey($referenceId);
if ($reference === null) {
return new DataResponse('', Http::STATUS_NOT_FOUND);
}

try {
$appData = $this->appDataFactory->get('core');
$folder = $appData->getFolder('opengraph');
$file = $folder->getFile($referenceId);
$response = new DataDownloadResponse($file->getContent(), $referenceId, $reference->getImageContentType());
$response = new DataDownloadResponse(
$file->getContent(),
$referenceId,
$reference === null ? $file->getMimeType() : $reference->getImageContentType()
);
} catch (NotFoundException|NotPermittedException $e) {
$response = new DataResponse('', Http::STATUS_NOT_FOUND);
}

Loading…
Cancel
Save