Я пытаюсь загрузить двоичный файл с сервера, использующего PHP.Каким-то образом он случайным образом добавляет один байт в начало файла при загрузке:
Результат загрузки (изображение Hex-редактора):
Ожидаемый результат загрузки (изображение Hex-редактора):
Что я пробовал:
1. Заголовки при попытке попробовать 1
$filename = 'spss-export.sav';
header("Content-Disposition: attachment; filename=survey_2_SPSS_syntax_file.sav");
header("Content-type: application/download; charset=UTF-8");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: public");
readfile($filename); // do the double-download-dance (dirty but worky)
exit;
2.Заголовок, попробуйте 2
$filename = 'spss-export.sav';
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($filename) . "\"");
readfile($filename); // do the double-download-dance (dirty but worky)
exit;
3.Загрузка ответа Laravel
$filename = 'spss-export.sav';
return response()->download($filename);
Приближения заголовка создают файлы, в начале которых есть только случайный байт, но при приближении laravel случайный байт и один пропущенный байт в конце файла.Кто-нибудь знает в чем может быть проблема?