У меня проблема с сохранением изображения холста на моем сервере. Я пробовал несколько вещей, и единственное, что, похоже, работает прямо сейчас, - это одно предложение, которое я нашел, оглядываясь вокруг, чтобы заполнить скрытое текстовое поле в форме и отправить его на мою php-страницу, которая может принять сообщение и преобразовать его и сохранить его на сервере. Хотя это действительно работает, оно отправляет только 1/8 изображения.Не удается сохранить полное изображение холста на сервер
Когда я проверяю содержимое toDataURL(), это то же количество данных, которое передается на страницу PHP, поэтому я не уверен, где изображение обрезается, а размер изображения составляет всего около 380 кб.
Вот что у меня есть:
Javascript:
var canvas = document.getElementById("myCanvas");
var image = canvas.toDataURL();
document.getElementById("savecarddata").value = image;
PHP
$upload_dir = 'mydirectory';
$img = $_POST['savecarddata'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = $upload_dir.rand().".png";
$success = file_put_contents($file, $data);
Это сохранить изображение, а только его верхнюю часть. Я пробовал ajax, но я не могу заставить его работать правильно, так что это было лучшее для меня решение. Я хотел бы помочь!
Заранее благодарен!
Я обнаружил, что если уменьшить размер изображения, я могу получить все изображение, но разрешение ужасно, а текст не читается. – user3817119
Это может помочь: http://stackoverflow.com/a/13198699/1599191 –