$this->response->body(readfile($file));
Измените эту строку на
$this->response->body(file_get_contents($file));
И работает.
Я знаю, что это более производительный readfile, но на данный момент, должно работать.
Вероятно, что-то, что readfile разрывается с окончанием.