How can I upload a base64 to indexeddb

0

I'm trying to convert the file file to base64 but when I see the indexeddb database the field appears as undefine

Maybe it can not be stored, the data by size, or is there a better way to do it?

function addPerson(e) {
    var name = document.querySelector("#nombre").value;
    var detalle = document.querySelector("#detalle").value;
    var file = document.getElementById('archivo').files[0];
    var archivo = getBase64(file); // prints the base64 string
    console.log("Se agrego:  "+name+"/"+detalle);
    console.log(archivo);

    var transaction = db.transaction(["datos"],"readwrite");
    var store = transaction.objectStore("datos");

    //Define a person
    var person = {
        name:name,
        detalle:detalle,
        archivo:archivo
    }
    //Perform the add
    var request = store.add(person);

    request.onerror = function(e) {
        console.log("Error",e.target.error.name);
        //some type of error handler
    }

    request.onsuccess = function(e) {
        console.log("proceso exitoso!");
    }
}
function getBase64(file) {
   var reader = new FileReader();
   reader.readAsDataURL(file);
   reader.onload = function () {
    var data = window.btoa(reader.result);
     console.log(data);
     return data;
   };
   reader.onerror = function (error) {
     console.log('Error: ', error);
   };
}
    
asked by marco orozco 23.08.2018 в 18:32
source

0 answers