に空白の画像を作成し、私のクライアント側のコードです:の保存は、ベース64の画像は、ここでまずPHP
$("#fileToUpload").on("change", function(){
var filesToUpload = document.getElementById("fileToUpload");
var file = filesToUpload.files[0];
var img = new Image(600,400);
var reader = new FileReader();
reader.onload = function(e){
img.src = e.target.result;
}
reader.readAsDataURL(file);
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext('2d');
img.onload = function(){
canvas.width = 600;
canvas.height = 400;
ctx.drawImage(img,0,0,canvas.width,canvas.height);
}
var dataURL = canvas.toDataURL("image/jpg");
var data = new FormData();
data.append("image", dataURL);
var xhttp = new XMLHttpRequest;
xhttp.open("POST", "test.php", true);
xhttp.send(data);
})
そして、ここでは私のPHPのコードは次のとおりです。
$imageArr = explode(',', $_POST['image']);
$image = base64_decode($imageArr[1]);
file_put_contents('image.jpg',$image);
私は、クライアント上の画像をリサイズしていますそれから、データURLとしてPHPに送信して、画像として保存します。
イメージを保存すると、自分のサーバーに空のイメージが作成されます。しかし、ページをリフレッシュせずに別のイメージを保存すると、以前のイメージがその場所と今回は正しく保存されます。これは私を超えている、誰かがいくつかの光を発することができますか?
あなたは、 "空白の画像を" どのような意味ですか?あなたは400x600の画像をすべて同じ色にしますか?または0バイトのファイルがありますか? –