Я пытаюсь получить содержимое холста 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 ... etc ... =' при отправке. Затем я занимаюсь этим в django:
from PIL import Image
...
canvasData = request.POST.get('canvasData', '')
im = Image.somehowLoad(canvasData)
...
im.save('canvas.png')
И здесь я застрял. Я не могу понять, как получить URL-адрес данных в кодировке base64 для загрузки изображения в пригодную для использования форму с помощью PIL.
Спасибо!
редактировать: вот код нижнего комментария:
>>> d
'data:image/png;base64,iVBORw0K'
>>> d.strip('data:image/png;base64,')
'VBORw0K'