Проблема с рендерингом изображения Base64 из запроса POST в TCPDF ⇐ Php
-
Anonymous
Проблема с рендерингом изображения Base64 из запроса POST в TCPDF
У меня есть изображение в кодировке Base64:
var CropedMap = CropedCanvas.toDataURL('image/png'); var form = document.createElement('form'); form.setAttribute('метод', 'сообщение'); form.setAttribute('action', 'pdf/generate.php'); form.setAttribute('цель', '_blank'); var input2 = document.createElement('input'); input2.setAttribute('тип', 'скрытый'); input2.setAttribute('имя', 'КАРТА'); input2.setAttribute('значение', CropedMap); form.appendChild(input2); document.body.appendChild(форма); форма.submit(); document.body.removeChild(форма); Я пытаюсь отобразить его с помощью TCPDF. Я получаю это изображение из запроса POST:
$mapData = isset($_REQUEST['MAP']) ? $_REQUEST['MAP'] : ''; $mapData = "@".preg_replace('#^data:image/[^;]+;base64,#', '', $mapData); $img = ''; Затем я присваиваю изображение переменной HTML следующим образом:
$html = '...'. $img .'...'; $pdf->writeHTML($html, правда, ложь, правда, ложь, ''); //Закрываем и выводим PDF-документ $pdf->Output('pdf-file.pdf', 'I'); Но изображение не отображается, несмотря на подтверждение того, что оно установлено. Когда я напрямую устанавливаю изображение в коде (пример: $img = '@iVBORw0KGgoAAAANSUhEUgAAA0gA...'), оно работает. Кажется, проблема возникает только тогда, когда я получаю ее из запроса POST. Есть какие-нибудь предложения, почему это не работает?
У меня есть изображение в кодировке Base64:
var CropedMap = CropedCanvas.toDataURL('image/png'); var form = document.createElement('form'); form.setAttribute('метод', 'сообщение'); form.setAttribute('action', 'pdf/generate.php'); form.setAttribute('цель', '_blank'); var input2 = document.createElement('input'); input2.setAttribute('тип', 'скрытый'); input2.setAttribute('имя', 'КАРТА'); input2.setAttribute('значение', CropedMap); form.appendChild(input2); document.body.appendChild(форма); форма.submit(); document.body.removeChild(форма); Я пытаюсь отобразить его с помощью TCPDF. Я получаю это изображение из запроса POST:
$mapData = isset($_REQUEST['MAP']) ? $_REQUEST['MAP'] : ''; $mapData = "@".preg_replace('#^data:image/[^;]+;base64,#', '', $mapData); $img = ''; Затем я присваиваю изображение переменной HTML следующим образом:
$html = '...'. $img .'...'; $pdf->writeHTML($html, правда, ложь, правда, ложь, ''); //Закрываем и выводим PDF-документ $pdf->Output('pdf-file.pdf', 'I'); Но изображение не отображается, несмотря на подтверждение того, что оно установлено. Когда я напрямую устанавливаю изображение в коде (пример: $img = '@iVBORw0KGgoAAAANSUhEUgAAA0gA...'), оно работает. Кажется, проблема возникает только тогда, когда я получаю ее из запроса POST. Есть какие-нибудь предложения, почему это не работает?
Мобильная версия