Как преобразовать изображение (используя путь к изображению) в строку base64 в sencha touch? - PullRequest
0 голосов
/ 30 марта 2012

Iam New Sencha Touch.

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

PLZ, помогите мне в этом вопросе. убедитесь, что я спрашиваю в сенча touch

Ответы [ 2 ]

0 голосов
/ 19 июня 2016

Следующий фрагмент кода поможет вам загрузить изображение и получить данные base64 uri
По вашему мнению, у вас должен быть следующий файловый компонент sencha touch

Ext.define('MyApp.view.Main', {
extend: 'Ext.form.Panel',
xtype: 'main',
requires: [
    'Ext.TitleBar',
    'Ext.Video'
],
config: {
    tabBarPosition: 'bottom',

    items: [
        {
            xtype: 'filefield',
            id: 'idfilefieldSample',
            name: 'filefieldSample',
            accept: 'image'
        },
    ]
}

});

и ваш контроллер выглядит так:

Ext.define('MyApp.controller.MainController', {
    extend: 'Ext.app.Controller',
    config:{
        control:{
            'filefield[name=filefieldSample]': {
                change: 'onChangefilefield',
            },
        }
    },
    onChangefilefield: function(filefield, newData, oldData, eOpts)
    {
        var filesSelected = Ext.getCmp('idfilefieldSample').getComponent().input.dom.files;
        if (filesSelected.length > 0)
        {
            var fileToLoad = filesSelected[0];
            var fileReader = new FileReader();
            fileReader.onload = function(fileLoadedEvent)
            {
                var srcData = fileLoadedEvent.target.result;
                console.log(srcData);
            }
            fileReader.readAsDataURL(fileToLoad);
        }
    },
});
0 голосов
/ 03 апреля 2012

Как вы получаете доступ к файлам?Откуда берутся изображения?Если они с камеры или из фотогалереи, то Phonegap - лучший способ получить их.В этом случае кодировка Base64 решается PG.Если вы пытаетесь решить это в чистом JS, вам нужно проделать дополнительную работу над этим.Sencha не предоставляет функции для кодирования base64.Так что лучше всего, если вы добавите какую-то функцию в свой проект.В Интернете есть много ресурсов, как сделать кодировку base64 в javascript.Например, см. Обсуждение здесь Кодирование и декодирование Base64 в Javascript на стороне клиента

...