Я использую PHP для генерации изображений, и это прекрасно работает.Однако у меня возникают проблемы с отображением этих изображений:
Мой генератор изображений - это файл PHP, который берет тонны параметров и загружает данные для генерации изображения.Из-за чрезмерных сумм, которые должны быть переданы в генератор, использование контейнера GET не работает для меня, поэтому данные отправляются через запрос POST.Результатом этого запроса являются необработанные данные изображения.
Я использую
$result = post_request('http://myurl.com/graphx/generator.php', $data);
if($result['status'] == 'ok') {
echo "<img src=\"data:image/png;base64,".
base64_encode($result['content'])."\"/>\n";
}
для отображения моего изображения.Это работает для очень маленьких изображений, но когда они становятся больше (например, 300px * 300px), изображение больше не отображается (кажется, что оно где-то вырезано).
Является ли мой подход разумным?
Есть ли обходной путь для проблемы размера?
Обновление:
Когда я позволю генератору сохранитьИзображение в файл, созданный файл содержит изображение, как я хочу, чтобы это было.Кроме того, если преобразовать мой генератор в GET-генератор, следующий код также будет работать правильно:
$data = http_build_query($data);
echo "<img src=\"http://myurl.com/graphx/get_generator.php?{$data}\"/>\n";
Так что определенно может возникнуть проблема либо с запросом POST, либо с преобразованием в base64
формат.Я использую запрос POST, как показано здесь .