Я пытаюсь получить содержимое холста html5 и передать его на мой сервер django, где он будет обрабатываться с помощью PIL и сохранен как PNG. Вот что я до сих пор:
Из формы HTML пользователь нажимает кнопку "Обновить", содержимое холста - с canvas.toDataURL() - сбрасывается в текстовое поле, которое отправляется через форму POST. В конце концов это будет автоматически, но не сейчас.
<input type="text" id="canvasData" name="canvasData"/>
<input type='button' value="update" onclick='jscript:updateData();'>
<canvas id="sketch"></canvas>
<script type="text/javascript">
function jscript:updateData() {
$('#canvasData')[0].value = $('canvas')[0].toDataURL();
}
</script>
CanvasData имеет форму "data: image/png; base64, iVBORw0KGgoAAAA... и т.д. = = когда он отправляется. Затем я разбираюсь с ним в django:
from PIL import Image
...
canvasData = request.POST.get('canvasData', '')
im = Image.somehowLoad(canvasData)
...
im.save('canvas.png')
И вот где я застрял. Я не могу понять, как получить URL-адрес данных с кодировкой base64, чтобы загрузить изображение в полезную форму с помощью PIL.
Спасибо!
edit: вот код для нижнего комментария:
>>> d
'data:image/png;base64,iVBORw0K'
>>> d.strip('data:image/png;base64,')
'VBORw0K'