キャンバスから抽出して ajax 経由で投稿する画像をアップロードしようとしていますが、サーバー側で画像ファイルを作成するのに問題があります。
私はこの答えに従っています: https://stackoverflow.com/a/7347358/1358670しかし、それでもあちこちで何かを見逃しているようです。
これが私のjavascript(ブラウザ)コードです:
var img = myCanvas.toDataURL("image/jpeg");
// ajax request to send the image
サーバー側では、次のことを行います。
var fd = fs.openSync('./img.jpeg', 'w');
req.body.image = req.body.image.replace(/^data:image\/\w+;base64,/, "");
console.log( req.body.image );
var buff = new Buffer(req.body.image, 'base64');
fs.write(fd, buff, 0, buff.length, 0, function(err,written){
console.log( ">> "+ err );
fs.closeSync( fd );
});
ご覧のとおり、画像が正しく送信されたかどうかを確認するために画像をログに記録しましたが、それでも作成されたimg.jpegファイルを開くことができません。
ヘルプやヒントは大歓迎です。
編集
ここでも解決策を試しました: https://stackoverflow.com/a/6933413/1358670しかし、私はまだ同じ問題を抱えています
編集:2
サーバー側で PHP スクリプトを使用してフロントエンド側をテストしましたが、生成された画像は非常に優れていたので、問題は NodeJS コードにあると結論付けます。