Get byte array from ExtJs file field

Hello friends I have the following filefield:

{
    xtype:'filefield',
    buttonText: 'choose',
    buttonOnly: true,
    listeners: {
        change: function(fb, v) {
            // ...
        }
    }
}

and I want to get the selected file in a byte array

Please help me if you can.

+4
source share
1 answer

AFAIK Ext JS does not support this, but you can easily implement this using the JS File API . Example:

// file filed component reference
var filefield = [...];
// get file dom element
var file = filefield.getEl().down('input[type=file]').dom.files[0];
// create reader
var reader = new FileReader();
// create handler
reader.onload = (function(theFile) {
    return function(e) {
        // process file
        console.log(e.target.result);
    };
})(file);
// start upload
reader.readAsBinaryString(file);

Fiddle: http://jsfiddle.net/qjt6j0jv/2/

+10
source

All Articles