sS hjs_imgUploadBase64Encoder() { ret hscript([[ var imgConverted = false; function submitWithImageConversion(form) { console.log("imgConverted: " + imgConverted + ", form: " + form); if (imgConverted) return true; imgConverted = true; var file = $('#imgUploader')[0].files[0]; if (file == null) return true; var reader = new FileReader(); // delay form submit until reader is done reader.onloadend = function () { var b64 = reader.result.replace(/^data:.+;base64,/, ''); $("#f_img_base64").val(b64); console.log("Got base64 data: " + b64.length); setTimeout(function() { $(form).submit(); }, 1000); }; reader.readAsDataURL(file); return false; } ]]); }