【发布时间】:2012-11-07 07:36:55
【问题描述】:
我编辑了一个 png 图片,在上面放了一些文字,然后显示如下
<?php
ob_start();
imagepng($img, NULL);
$rawImageBytes = ob_get_clean();
imagedestroy($img);
echo "<img id='ca_image' src='data:image/png;base64," . base64_encode($rawImageBytes) . "' />";
?>
<a href="#" onclick="return download();">Download</a>
<script>
function download(){
var img =document.getElementById("ca_image").src;
var url = img.replace(/^data:image\/[^;]/, 'data:application/octet-stream');
location.href = url;
</script>
当我更改文件的内容类型时,浏览器会自动弹出窗口下载,但下载的文件类型是 PART 。我想将 base_64 下载为 png 文件。 这种方法有可能吗? 这是将文件另存为png的正确方法吗? 如果不是请提出解决我问题的正确方法。
【问题讨论】:
-
为什么不直接返回没有base64编码的图片呢?您可以设置一个 PHP 文件,它返回一个图像作为图像源。
-
我把它解决为 和 php------ ---$base64strImg=$_REQUEST['string']; header('Content-Disposition: attachment;filename="test.png"');----会造成问题吗?因为没有检查字符串。 header('Content-Type: application/force-download'); echo base64_decode($base64strImg);
-
请写下这个答案并接受它。
标签: php javascript png base64