Изображение в base64 возвращает ноль - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь преобразовать изображение в base64, но я получаю нулевой результат, у кого-нибудь есть подсказка?Я нашел несколько примеров, как сделать снимок с камеры и конвертировать в b64, но я не смог найти ничего, как конвертировать тег изображения в b64.

<image @loaded="loaded" src="myimg.jpg">
var ImageSourceModule = require("tns-core-modules/image-source");

function loaded(args){    
let imageSource = ImageSourceModule.fromNativeSource(args.object.nativeElement);
console.log(imageSource.toBase64String('jpeg'))
}

1 Ответ

0 голосов
/ 24 мая 2018

возможно, вы получаете нулевые данные из-за покрытия изображения до его полной загрузки.попробуйте преобразовать изображение после его полной загрузки, как показано в фрагменте ниже.

Чтобы преобразовать изображение после его загрузки, мы используем событие loaded и свойство isLoading изображения.

loaded(args) {
    console.log(args.eventName);
    console.log(args.object);

    var img = args.object;

    console.log("img.isLoading: " + img.isLoading);
    console.log("img.isLoaded: " + img.isLoaded);
    if(img.isLoading){

        img.on("isLoadingChange", function (args) {
            console.log("isloading",args.value);
            console.log("isloaded",args.object.isLoaded);
            let img       = args.object;
            let imageSource= ImageSource.fromNativeSource(img);
            console.log(imageSource.toBase64String('jpeg'))
        });
    }else if(!img.isLoading&&img.isLoaded){
        let imageSource= ImageSource.fromNativeSource(img);
        console.log(imageSource.toBase64String('jpeg'))
    }else{
        console.log("image loading failed");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...