Во-первых, если не планируется работать с древними браузерами, не поддерживающими FileReader, то проще воспользоваться им:
var fileField = document.getElementById('image');
var preview = document.getElementById('preview');
fileField.addEventListener('change', function(event) {
var reader = new FileReader();
reader.onload = function(event) {
preview.setAttribute('src', event.target.result);
}
reader.readAsDataURL(event.target.files[0]);
}, false);
Во-вторых, если уж кодировать изображение в base64 перед отправкой, то раскодировать на стороне сервера элементарно.
Для Python2:
with open("image.png", "wb") as fh:
fh.write(request.POST['image'].decode('base64'))
Для Python3:
import base64
with open("image.png", "wb") as fh:
fh.write(base64.decodestring(request.POST['image']))