不能保存数据:image/jpeg;base64


Cannot save data:image/jpeg;base64

我有这个代码,显示一个颜色转换图像的客户在网页上,然后客户可以点击下载按钮下载图像,它在PC上工作得很好,但如果我尝试在安卓手机上下载图像,我会得到错误"只能下载http或https url"。我猜这是因为保存的图像有一个路径像"data:image/jpeg;base64,/9j/4aaqskzjrgabaaaaaaqabaad//gA8Q1JFQVRPU"我如何让它工作?它需要被转换吗?下面是我的代码:

imagejpeg($gd,NULL,100);
$outputBuffer = ob_get_clean();
$base64 = base64_encode($outputBuffer);
echo '<a id="downloadimage" style="text-decoration:none;" download>
	<img id="image2" style="border:1px solid lightgrey;" width="300" height="400" src="data:image/jpeg;base64,'.$base64.'" />
	<li style="padding-top:10px;textalign:center;display:block;border-radius:10px;background-color:royaleblue;height:30px;width:100px;background-color: lightgray;
padding-left: 30px;margin-left: 80px;">download</li></a>';	

base64编码的数据以二进制格式表示图像的实际内容,不能与img标签一起使用。您需要提供它在手机本地存储的实际路径,如"../../file.jpg",或云存储的实际路径,如"http://www.google.com/happy.png"。