Как создать изображение на холсте с iPad?
Я создаю форму подписи, которая должна преобразовать холст HTML5 в файл .png, а затем переместить этот файл в каталог, где его информация может быть скопирована в таблицу SQL. Хотя canvas отлично работает и способен отправлять изображения на сервер на настольном ПК, у него возникают проблемы с этим с iPad, который будет использоваться в качестве основного устройства для подписания форм.
На стороне iPad что-то мешает созданию изображения canvas, в результате чего появляются пустые изображения, которые приложение Windows 10 Photos представляет с текстом: "Похоже, мы не поддерживаем этот формат файла."
Кнопка "Сохранить" берет данные с холста и преобразует их в метод UploadImage в Base64.
$("#btnSave").click(function () { var image = document.getElementById("myCanvas").toDataURL("image/png"); image = image.replace('data:image/png;base64,', ''); $.ajax({ type: 'POST', url: 'Signature.aspx/UploadImage', data: '{ "imageData" : "' + image + '" }', contentType: 'application/json; charset=utf-8', dataType: 'json' }); });
Отсюда метод UploadImage() сохраняет текст imageData в статическом строковом файле filebit. Когда пользователь подтвердит, что это та подпись, которую он хочет отправить, файл .aspx создаст образ из кода Base64, даст ему имя и поместит его в каталог сигнатур, записывая имя файла в таблицу SQL.
Что я уже пробовал:
Я пытался открыть доступ к определенным каталогам, но это не решило проблему написания. После перемещения различных файлов в различные каталоги с помощью iPad я понимаю, что что-то должно быть не так с частью fileStream этой программы, так как что-то внутри нее неправильно записывается, поэтому подписи, сделанные на iPad, не превращаются в изображения.
Раньше изображение отправлялось во временный каталог, но теперь оно отправляется прямо в постоянный каталог, так как программа записывает изображение из строки с кодом Base64.
Gerry Schmitz
Ваша проблема, по-видимому, заключается в том, чтобы "создать" изображение на IPad в первую очередь, а не "отправить".
Просто создайте любое изображение в месте по умолчанию; затем начните беспокоиться о том, чтобы "переместить его".
Alex Reynaud
Вы правы; создание образа-это проблема, и это то, что я хочу знать. Я изменю название этого вопроса.