Файл pdf генерируется, заголовки ответа устанавливаются
Content-Disposition: attachment; filename="test.pdf"
Content-Length: 1274
Content-Type: application/pdf
Файл pdf отдается сразу в поток вывода в качестве ответа.
Вроде бы все ок, но в консоли получаю ошибку POST http://localhost/bitrix/services/main/ajax.php?mode=class&c=test%3Agenerator.pdf&action=generate net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)
Что говорит, о том, что данные передаваемые в ответе не соответствуют ожидаемым.
Вот пример кода отправки запроса
BX.ajax.runComponentAction('test:generator.pdf', 'generate', {
mode: 'class',
data: {
test: 'test text'
}
}).then((response) => {
console.log(response)
})
Помогите пожалуйста разобраться, что я делаю не так
Была ошибка подобная, неверно считался размер файла(base64 закодированный был) Пофиксил переводом в норм вид и затем библиотекой расчета размера файла
Я использую DomPdf, там вставляется все без base64: header("Cache-Control: private"); header("Content-Type: application/pdf"); header("Content-Length: " . mb_strlen($tmp, "8bit"));
Укажи в prefilters нужный Content-Type public function configureActions() { return [ '' => [ 'prefilters' => [ new ActionFilter\ContentType(), ], ], ]; }
Обсуждают сегодня