我使用HTML2Canvas为我的页面上的div创建了一个png图像,它为图像创建了base64编码的字符串.我将其作为内联显示在页面上:
<img id="headerImage" src="data:image/png;base64,iVBORw0KGg..." width="60">Run Code Online (Sandbox Code Playgroud)
然后我将它作为LONGTEXT保存在我的数据库中.
在我的控制器中,我似乎无法将图像作为有效的PNG服务器.尝试了一系列不同的方法,如代码片段所示:
$imageStr = $plan->image;
$pos = strpos($imageStr, ',');
$trimmed = substr($imageStr, $pos+1);
$image = base64_decode($trimmed);
/*
$im = imagecreatefromstring($image);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
} else {
echo 'Failed';
}
return;
*/
$response = Response::make(trim($image), 200);
$response->header('Content-Type', 'image/png');
return $response;
/*
return Response::stream(function() use ($image) {
echo $image;
}, 200, array('Content-Type:image/png'));
*/Run Code Online (Sandbox Code Playgroud)
当我查看标题时,它看起来很合理:
t=4102 [st=437] HTTP_TRANSACTION_READ_RESPONSE_HEADERS
--> HTTP/1.1 200 OK
Date: Tue, 24 Feb 2015 16:36:28 GMT
Server: …Run Code Online (Sandbox Code Playgroud)