Я пытаюсь преобразовать изображение в base64. Я написал следующий код:Переменная не полностью загружена в javascript
if (file)
{
var reader = new FileReader();
reader.onload = function(readerEvt)
{
alert(readerEvt.target.result);
var image = readerEvt.target.result;
var base64image = image.split(',')[1];
var key = 'image'+i;
images[key] = image;
//$('#image_preview').attr('src', readerEvt.target.result);
};
reader.readAsDataURL(file);
}
Но когда я предупрежу readerEvt.target.result
это говорит 131494 символов, но когда я загрузить его в переменный только 10001 символов загружаются. Это делает изображение неполным при декодировании назад с base64. Любая помощь будет оценена.
Вы просмотрели это: http://stackoverflow.com/questions/6150289/how-to-convert-image-into-base64-string-using-javascript – dYale
Base64image.length дает мне 131494 aprox charecters, но когда Я пытаюсь использовать оповещение, только 10001 загружается. Здесь есть ограничение? –
Не должно быть. Я только что прошел тест, используя onload (а также onloadend), и они оба отлично работают, учитывая успешную загрузку, конечно, поскольку onloadend будет называться успешным или нет. Я попробовал его на размер файла более 3,5 Мб, и он загрузил данные в качестве base64 и заполнил изображение соответственно. – ManoDestra