캔버스 이미지를 서버에 저장하려고합니다. 파일을 저장할 수는 있지만 항상 0 바이트입니다. 내 코드에 무슨 문제가 있습니까?캔버스 이미지를 서버에 저장하십시오.
<script>
function test(){
var canvas = document.getElementById("cvs");
var dataURL = canvas.toDataURL();
$.ajax({
type: "POST",
url: "upload.php",
data: {
imgBase64: dataURL
}
}).done(function(o) {
console.log('saved');
});
}
</script>
PHP는 : 당신은 당신이 당신이 dataURL
둘째를 만들어하기 전에 변수 canvas
및 을 정의 후 캔버스 에 색칠했는지 확인하기 위해
<?php
define('UPLOAD_DIR', 'uploads/');
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
?>
어디에서 캔버스에 페인트합니까 – NatureShade
가능한 복제본 : http://stackoverflow.com/questions/13198131/how-to-save-a-html5-canvas-as-image-on-a-server – NatureShade
I ' 네가 무슨 뜻인지 정말로 모르겠다. 위의 자바 스크립트와 같은 페이지에 페인트합니다. – user3080392