この例に従って、キャンバスをPNGファイルに保存します。http://greenethumb.com/article/1429/user-friendly-image-saving-from-the-canvas/
私の問題:ダウンロードしたファイルが破損していて、メモ帳で開くと、次のパターンになります。
- HTMLコード(PHPファイルに対応)
- ASCII文字(PNGファイルに対応すると思いました)
<body><html>
#1と#3を削除してファイルをローカルに保存すると、有効なPNG画像が得られます。
私は上記の例が言っていることを正確に実行していますが、私の結果は異なります。dataURLに他の情報があるのはなぜですか。キャンバス自体以外?
ありがとう。
編集
<?php
$imdata = $_POST["imgdata"];
//run this code only when there is long POST data
if(strlen($imdata)>1000) {
//removing the "data:image/png;base64," part
$imdata = substr($imdata,strpos($data,",")+1);
// put the data to a file
file_put_contents('image.png', base64_decode($imdata));
//force user to download the image
if(file_exists("image.png")){
header('Content-type: image/png');
header('Content-Disposition: attachment; filename="image.png"');
readfile('image.png');
}
}
?>