canvas
としてBlob
をjavascript
に送信してみます。私のJSコードでHTMLCanvasElement.toBlob()
if (!HTMLCanvasElement.prototype.toBlob) {
Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {
value: function (callback, type, quality) {
var binStr = atob(this.toDataURL(type, quality).split(',')[1]),
len = binStr.length,
arr = new Uint8Array(len);
for (var i=0; i<len; i++) {
arr[i] = binStr.charCodeAt(i);
}
callback(new Blob([arr], {type: type || 'image/png'}));
}
});
}
Beyond $_POST, $_GET and $_FILE: Working with Blob in JavaScript and PHP
<?php
// choose a filename
$filename = "hello.json";
// the Blob will be in the input stream, so we use php://input
$input = fopen('php://input', 'rb');
$file = fopen($filename, 'wb');
// Note: we don't need open and stream to stream, we could've used file_get_contents and file_put_contents
stream_copy_to_stream($input, $file);
fclose($input);
fclose($file);
?>
を参照してください
php
でファイルを処理するために
Blob
、stream_copy_to_stream
またはfile_get_contents()
、file_put_contents()
を読み取るためのパラメータとしてphp://input
でfopen()
を使用し、私は '使用して終了しましたvar dataURL = bottleCanvas.toDataURL( "image/png"); 'の代わりに、var dataURL = bottleCanvas.toDataURL(" image/jpeg "、0.5);私の問題を解決しました。しかし、あなたの答えに感謝します。 – Kelsey