2009-10-07 8 views

답변

34

내 추측은 단순히 파일에 쓰기 전에 $_REQUEST['data']base64_decode()를 호출 할 필요가 있다는 것입니다. 충분해야합니다 :).

+3

한숨 충분히 쉬웠다 즉, 질문을하기 전에 했어야! 감사. – mmattax

6

여기서는 HERE처럼 사용하지 않는 한 base64_decode()으로 디코드하려고한다고 생각합니다.

확실한 것은 $ _REQUEST [ 'id']를 사용하기 전에 위생 처리를하고 싶다는 것입니다.

+0

도전적 단지 단순한려고 노력, 소독 것입니다 ... – mmattax

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

때문에 이러한 오류를 얻었다 : 소진 134,217,728 바이트의 메모리 크기 허용을 (24 바이트를 할당하려고). 그런데, 나는 캔버스 (자바 스크립트 사용) ToDataURL에서 PNG 이미지를 얻기 위해 시도하는 코드를 사용합니다. – Kelsey

+0

자세한 내용을 제공해 주시겠습니까? 당신은 정확히 당신의 실수를 일으키는 것이라고 생각합니까? 왜? 감사. –

+1

이것은 허용 된 대답이어야합니다. – CristiC

관련 문제