2009-10-07 88 views

回答

34

我最好的猜测是你只需在$_REQUEST['data']上写base64_decode()就可以了,然后再写入文件。这应该足够:)。

+3

叹了口气,这很容易,应该问这个问题之前已经做到了!谢谢。 – mmattax 2009-10-07 17:27:22

6

我认为你会想要解码base64_decode(),除非你只使用它,就像他们在这里HERE

我确定的事情是,在使用它之前,您需要清理$ _REQUEST ['id']。

+0

挑衅将消毒,只是试图简单化... – mmattax 2009-10-07 17:28:22

38

您需要使用base64_decode()。和。有时候这是不够的。以下是您需要的所有代码:

$img = $_POST['data']; 
$img = str_replace('data:image/png;base64,', '', $img); 
$img = str_replace(' ', '+', $img); 
$fileData = base64_decode($img); 
//saving 
$fileName = 'photo.png'; 
file_put_contents($fileName, $fileData); 

P.S.我使用此代码从HTML画布获取PNG图像。

+0

得到一个错误,因为这样的:允许的内存大小134217728字节耗尽(试图分配24字节)。顺便说一下,我使用你的代码尝试从Canvas的ToDataURL(使用Javascript)获取PNG图像。 – Kelsey 2016-05-26 21:20:53

+0

你能提供更多细节吗?你认为什么是造成你的错误?为什么?谢谢。 – 2016-05-26 22:38:26

+1

这应该是被接受的答案。 – CristiC 2017-10-23 09:49:36

相关问题