0
http://www.taffatech.com/Paint.html캔버스에서 이미지 다운로드
저장을 클릭 한 다음 다운로드 버튼을 클릭하십시오. 이미지를 다운로드하고 이름을 바꾸려면 내 코드에서 'myimage'를 보내 주시면 감사하겠습니다. 감사드립니다.
오류 :
function CanvasSaver(url) {
this.url = url;
this.savePNG = function(canvas, fname) {
if(!canvas || !url) return;
fname = fname || 'picture';
var data = canvas.toDataURL("image/png");
data = data.substr(data.indexOf(',') + 1).toString();
var dataInput = document.createElement("input") ;
dataInput.setAttribute("name", 'imgdata') ;
dataInput.setAttribute("value", data);
dataInput.setAttribute("type", "hidden");
var nameInput = document.createElement("input") ;
nameInput.setAttribute("name", 'name') ;
nameInput.setAttribute("value", fname + '.png');
var myForm = document.createElement("form");
myForm.method = 'post';
myForm.action = url;
myForm.appendChild(dataInput);
myForm.appendChild(nameInput);
document.body.appendChild(myForm) ;
myForm.submit() ;
document.body.removeChild(myForm) ;
};
: 기능 JS 저장
$("#download").click(function() {
var cs = new CanvasSaver('http://taffatech.com/saveme.php');
cs.savePNG(canvas, 'myimage');
});
:
<?php
# we are a PNG image
header('Content-type: image/png');
# we are an attachment (eg download), and we have a name
header('Content-Disposition: attachment; filename="' . $_POST['name'] .'"');
#capture, replace any spaces w/ plusses, and decode
$encoded = $_POST['imgdata'];
$encoded = str_replace(' ', '+', $encoded);
$decoded = base64_decode($encoded);
#write decoded data
echo $decoded;
?>
JS 버튼 : PHP를위한
Warning: Cannot modify header information - headers already sent by (output started at /home/content/29/10007129/html/taffatech/saveme.php:2) in /home/content/29/10007129/html/taffatech/saveme.php on line 4
Warning: Cannot modify header information - headers already sent by (output started at /home/content/29/10007129/html/taffatech/saveme.php:2) in /home/content/29/10007129/html/taffatech/saveme.php on line 7
코드
}
감사합니다. 더 이상 정보가 필요하면 그냥 물어보십시오!
'saveme.php'의 시작 부분에 공백이 없음을 확인할 수 있습니까? – Graham
사실, hexdump를 기반으로, 처음에는' php' 앞에 줄 바꿈 문자가있는 것처럼 보입니다. – EPB
줄 바꿈이 문제 였고 줄을 모르는 문제가 발생했습니다. –