我使用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請求,如here所示。
更大圖像的$結果的輸出是什麼?在這種情況下你能夠獲得內容密鑰嗎? – Stewie 2012-01-11 14:47:22
@Stewie我能夠獲得內容密鑰,它包含'base64'數據,但它似乎被限制在一定的長度。 – nijansen 2012-01-11 14:55:30