fix: adopt potentially changed file extension when downloading

This commit is contained in:
Björn Fromme
2025-04-23 15:43:23 +02:00
parent 3c57ff7af8
commit 190d6200ce
2 changed files with 15 additions and 1 deletions
@@ -59,6 +59,12 @@ class BatchDownloadController extends AbstractController
/** @var Upload $upload */
$filename = $upload->getOriginalFilename();
$filepath = $this->uploadHandler->getUploadFilepath($upload);
$extension = pathinfo($filepath, PATHINFO_EXTENSION);
// adopt potentially changed file extension
if (false === str_ends_with($filename, $extension)) {
$filename = $filename.'.'.$extension;
}
try {
$zip->addFileFromPath(fileName: $filename, path: $filepath);
@@ -79,4 +85,4 @@ class BatchDownloadController extends AbstractController
return $response;
}
}
}
@@ -29,7 +29,15 @@ class DownloadController extends AbstractController
public function index(Upload $upload, Request $request): Response
{
$path = $this->uploadHandler->getUploadFilepath($upload);
$extension = pathinfo($path, PATHINFO_EXTENSION);
// adopt potentially changed file extension
$originalFilename = $upload->getOriginalFilename();
if (false === str_ends_with($originalFilename, $extension)) {
$originalFilename = $originalFilename.'.'.$extension;
}
$inline = (bool) $request->get('inline');
$disposition = $inline ? ResponseHeaderBag::DISPOSITION_INLINE : ResponseHeaderBag::DISPOSITION_ATTACHMENT;