diff --git a/controllers/front/AttachmentController.php b/controllers/front/AttachmentController.php index 47fd32c08..3c5daedda 100644 --- a/controllers/front/AttachmentController.php +++ b/controllers/front/AttachmentController.php @@ -32,6 +32,9 @@ class AttachmentControllerCore extends FrontController if (!$a->id) Tools::redirect('index.php'); + if (ob_get_level()) + ob_end_clean(); + header('Content-Transfer-Encoding: binary'); header('Content-Type: '.$a->mime); header('Content-Length: '.filesize(_PS_DOWNLOAD_DIR_.$a->file)); diff --git a/controllers/front/GetFileController.php b/controllers/front/GetFileController.php index 44dcd8fbe..f39990b4d 100644 --- a/controllers/front/GetFileController.php +++ b/controllers/front/GetFileController.php @@ -270,12 +270,14 @@ class GetFileControllerCore extends FrontController $mimeType = 'application/octet-stream'; } + if (ob_get_level()) + ob_end_clean(); + /* Set headers for download */ header('Content-Transfer-Encoding: binary'); header('Content-Type: '.$mimeType); header('Content-Length: '.filesize($file)); header('Content-Disposition: attachment; filename="'.$filename.'"'); - ob_end_flush(); $fp = fopen($file, 'rb'); while (!feof($fp)) echo fgets($fp, 16384);