208 похожих чатов

Все привет. Хочу использовать контроллеры для генерации pdf-файл по ajax.

Файл 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)
})

Помогите пожалуйста разобраться, что я делаю не так

4 ответов

38 просмотров

Была ошибка подобная, неверно считался размер файла(base64 закодированный был) Пофиксил переводом в норм вид и затем библиотекой расчета размера файла

Николай- Автор вопроса
Kriso
Была ошибка подобная, неверно считался размер файл...

Я использую 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(), ], ], ]; }

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта